006
16.03.2010, 23:21 Uhr
0xdeadbeef
Gott (Operator)
|
Viel mit Referenzen zu arbeiten, ist in C++ durchaus üblich. Zeiger dagegen meidet man wie die Pest, wenn es auch anders geht - Zeiger können NULL sein oder ins Nirvana zeigen, Referenzen bedeuten ein Versprechen, dass man auch ein Objekt hat.
Jetzt können Referenzen, wenn man damit Schindluder treibt, natürlich auch ins Nirvana zeigen, aber es geht hier eher um gute Kapselung - wenn ich von einem Objekt eine Referenz zurückkriege, kann ich davon ausgehen, dass ich auch ein Objekt habe - der Designer der ursprünglichen Klasse hat es so angelegt. Wenn ich dagegen einen Zeiger kriege, muss ich damit rechnen, dass der auch mal NULL ist, und das verkompliziert den umgebenden Code ungemein.
Insgesamt lässt sich das Thema nicht in einem Forum oder einem Tutorial abhandeln - ich wäre mit C++-Tutorials sowieso sehr vorsichtig, in aller Regel werden die von Leuten geschrieben, die C++ nicht gut genug kennen, um zu wissen, dass es zu komplex ist, um es in einem Tutorial abzuhandeln. Ich kann dir aber ein sehr gutes Buch nennen, das de facto ein Standardwerk für gute Programmierpraxis in C++ ist: Effective C++.
Wenn du damit durch bist, sind die Nachfolgewerke "More Effective C++" und "Effective STL" auch zu empfehlen, allerdings solltest du für "More Effective C++" wahrscheinlich erst etwas mehr Erfahrung sammeln. "Effective STL" behandelt die Standardbibliothek, in der es sehr gut ist, sich auszukennen, ich kann es dir also nur wärmstens ans Herz legen. Allerdings ist es (noch?) nicht aktualisiert worden, seit die TR1-Erweiterung verfügbar ist, also könnte es Sinn machen, auf eine neue Auflage zu warten. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra Dieser Post wurde am 16.03.2010 um 23:23 Uhr von 0xdeadbeef editiert. |