const in Funktionen
-
Hallo Leute,
ich habe eine frage zu 'const' in Funktionsdeklarationen (in klassen)
und zwar heist folgendes:
void zeige() const;dass das objekt nicht verändert werden kann
void const foo();heist das dasselbe oder wie?
das ist mir nämlich jetzt letztens in der operatoren überladung aufgefallen...mfg mosho³
-
Skym0sh0 schrieb:
[ccp]
void const foo();
[/cpp]heist das dasselbe oder wie?
das ist mir nämlich jetzt letztens in der operatoren überladung aufgefallen...Nein, dieses const bezieht sich auf den Rückgabewert.
const void macht aber nicht wirklich Sinn, ich weiß gar nicht, ob das überhaupt erlaubt ist. Du würdest eher sowas in der Art sehen:
const int* foo();
-
ja ich wusste nicht wodrauf sichd as const bezieht
klar wenn es sich auf den rückgabe wert bezeiht macht das klar kein sinn
also
rückgabetyp foo() const;bezieht sich auf das objekt
undrückgabetyp const foo();bezieht auf den rückgabe wert?
-
Ja.
Wobei du für den Rückgabewert genau so (sinnlos) schreiben könntest:const rückgabetyp foo();