C++ - Klassen: Vertiefung
Pointer und Referenzen:
Argumente, Returnwerte und Empfehlungen
Einige Empfehlungen zur Erleichterung der Entscheidung für die
Argumentübergabe (per Value, Pointer oder Reference ?):
- IN-Argumente eingebauter Typen sollten per Value übergeben
werden
- Ist das IN-Argument ein Array, dann übergeben Sie dieses als
const typename*.
- Ist das IN-Argument von selbstdefiniertem Typ (Aggregat), dann
sollten Sie es per Reference to const (const typename&) übergeben.
- Modifiziert eine Funktion ein Argument von eingebautem Typ, dann
übergeben Sie dieses bitte per Pointer (typename*). Dadurch wird dem
Leser Ihres Quelltextes klar, daß das Argument (der Inhalt der Adresse)
als INOUT-Argument zu betrachten ist.
- Soll ein INOUT-Argument von selbstdefiniertem Typ übergeben werden,
verwenden Sie die per Reference Notation (typename&):
- Typ des Argumentes (die Klasse) enthält Informationen darüber,
auf welche Elemente die Funktion zugreifen darf
- soll auf private member zugegriffen werden, dann muß die
Funktion Methode oder friend der Klasse sein
- die Funktion kann also nicht beliebig auf Elemente des übergebenen
Objektes zugreifen; Klasse hat die Kontrolle darüber