Hi,
ich habe 2 Anfänger-Fragen zur "const-correctness" in C++.
1) Richtige Verwendung von const
Wenn ich mir einen "Getter" in einer Klasse anschaue welcher ein Objekt (im Beispiel das Objekt "Color") als Referenz zurückgibt dann finden sich dort sowohl links wie auch rechts die "const"-Statements:
Das linksseitige const leuchtet mir ein, es wird verhindern das ich das zurückgegebene Color-Objekt verändern kann (richtig?). Aber wofür steht da noch das const auf der rechten Seite bzw. was bewirkt es in diesem Fall genau?
2) Aufruf vom Copy-Konstruktor verhindern
Ist mein bisheriges Verständnis korrekt, dass ich durch das const auch verhindere das der Copy-Konstruktor eines Objektes im Falle einer Übergabe verhindert wird? Oder spielt hier das const gar keine Rolle und die Übergabe "by Reference" schließt das automatisch schon aus?
Wäre echt nett wenn mir das mal jemand leicht verständlich erklären mag :-)
Viele Grüße
Bella01
ich habe 2 Anfänger-Fragen zur "const-correctness" in C++.
1) Richtige Verwendung von const
Wenn ich mir einen "Getter" in einer Klasse anschaue welcher ein Objekt (im Beispiel das Objekt "Color") als Referenz zurückgibt dann finden sich dort sowohl links wie auch rechts die "const"-Statements:
Code:
const Color& getColor() const;Das linksseitige const leuchtet mir ein, es wird verhindern das ich das zurückgegebene Color-Objekt verändern kann (richtig?). Aber wofür steht da noch das const auf der rechten Seite bzw. was bewirkt es in diesem Fall genau?
2) Aufruf vom Copy-Konstruktor verhindern
Ist mein bisheriges Verständnis korrekt, dass ich durch das const auch verhindere das der Copy-Konstruktor eines Objektes im Falle einer Übergabe verhindert wird? Oder spielt hier das const gar keine Rolle und die Übergabe "by Reference" schließt das automatisch schon aus?
Wäre echt nett wenn mir das mal jemand leicht verständlich erklären mag :-)
Viele Grüße
Bella01
No comments:
Post a Comment