Paar allg. Fragen zu. C++
-
Hiho,
meine Fragen:
1. Welche Formatierung soll ich nehmen? Wo finde ich Tutorials wie man C++
Code Formatiert? Also bswp:class Foobar { }; oder eher: class foobar { };
2. In manchen Codes sehe ich sowas hier:
class foo { };
Was macht die Klasse und für was soll das gut sein?
3. Ist es sinnvoll alles in Namespace zu schreiben?
-
hallo°°°
du muust einfach etwas suchen und dann wirst du es schon finden zu frage 3 ja es ist sehr sinvoll netscape zu verwenden , weil es dadurch besser klapt!! Wenn es nicht klappt (was aussteht) kannst du mich fragen und ich sage dir noch so ein paar schlaue tips !!
robin
-
robin schrieb:
zu frage 3 ja es ist sehr sinvoll netscape zu verwenden , weil es dadurch besser klapt!!
namespace != netscape. Zum trollen kannst du ins Offtopic-Forum gehen!
-
zu 1.) Das ist vollkommen Dir selber überlassen! Ich persönlich bevorzuge letzteres, weil dann die geöffnete und die schließende Klammer untereinander stehen, was es (für mich) übersichtlicher gestaltet. Such Dir einen STil aus, aber bleibe bei einem Stil innerhalb einer Quelltextdatei (wegen der Lesbarkeit).
-
Erwiterung von Punkt 3.)
Wofür sind Namespaces überhaupt nütze?
Ich finde es eher umständlich zB immer std::string schreiben zu müssen. Und wenn ich versuche unsing namespace std, dann funktioniert der ganze rest nicht mehr, also wozu überhaupt?
-
In Namensbereichen kannst du Klassen und Methoden uns wat weiß ich noch alles definieren. Wenn das dann noch alles schön geordnet zusammen gehört, weißt du immer wo du fertige Funktionen und/oder Klassen für deine diversen Probleme findest und brauchst die nicht immer aus deinen alten Projekten zusammen suchen und dann kopieren und einfügen.
Z.B. wenn du nen Namespace Zeit hast, dann machste da ne Klasse zur Verwaltung von Daten (mehrzahl von Datum) hin und noch Funktionen die nicht objektabhängig sondern unter die allgemeine nutzung fallen hin, wie z.B. die zeitdifferenz zwischen 2 Daten ermitteln oder ermitteln ob ein Jahr ein Schaltjahr ist usw.Wenn du
using namespace std;
schreibst funktioniert nichts mehr? Komisch. Ist aber eh schlechter Stil. Ich habe es mir bereits wieder abgewöhnt. Besser ist std:: dann benutzt du wirklich nur was du benutzen willst. Wenn du 2 namespaces mit der Klasse string hast und beide global benutzt und dann string verwenden willst dürfte es ein Problem geben.
Wie du siehst, namespaces sammeln alles was zusammengehört und können benutzt werden ohne ein Objekt zu erstellen wie bei einer Klasse.
Hoffe das war so einigermaßen verständlich und auch alles richtig....schließlich habe ich jetzt ganz viel getippt......Code-Hacker
-
zu 1.
GOOGLE HILFT! Ich hab mir vor einiger Zeit mal das hier angeschaut:
http://geosoft.no/style.html
und dazu die Coding-Style-Richtlinien für den Linux-Kernel. Ergibt nen recht schönen Stil der auch deine Kollegen/SonstigeSourceLeser nicht verzweifeln lässt.
-
Zu 1 so benutze ich immer letzteres, sowohl bei Funktionen, als auch bei schleifen und was es noch alles gibt, da es imho übersichtlicher ist. Aber da muss jeder das finden was er lieber mag.
Code-Hacker
-
Code-Hacker schrieb:
Wenn du
using namespace std;
schreibst funktioniert nichts mehr? Komisch. Ist aber eh schlechter Stil.
Das ist doch Käse. Und zwar sowohl, dass nichts mehr funktioniert, als auch dass dies schlechter Stil ist.
Schlechter Stil wird es, wenn du einen Namensraum in einem Header öffnest. In einer cpp-Datei ist das aber eine reine Geschmacksache. Schlimmstenfalls erhälst du einen Compile-Zeit-Fehler und musst auf using-Deklarationen bzw. explizite Qualifizierung zurückgreifen.