Was bewirkt "const" bei einer Methode hinter der Parameterliste?
-
Hi,
warum akzeptiert der Compiler ein "const" zwischen der Parameterliste und dem Programm-Abschnitt der Methode einer Klasse?
Also bei folgender Methode einer Klasse:
public: void TestMethode (int &x) const { x++; }
Was bewirkt ein "const" dort?
Ich wollte eigentlich testen wie ein "const" beim Parameter dessen Veränderung verhindert und hatte es ausversehen an die falsche Stelle geschrieben. Zu meinem Erstaunen hat der Compiler es dann akzeptiert.
-
Sorry falsches Unterforum erwischt... ich wollte in c++ schreiben.
-
Auch wenn es im falschen Forum ist:
"const" hinter einer Methode teilt dem Compiler mit, das diese Methode keine Werte des Objektes verändert. Dadurch kann die Methode auch in den Fällen aufgerufen werden, wenn man auf ein konstanten Objekt arbeitet (und zudem kann der Compiler ggf. spezielle Optimierungen durchführen).
Siehe hierzu auch die C++ FAQ, speziell den Bereich Const correctness.
-
Dieser Thread wurde von Moderator/in Dravere aus dem Forum C# und .NET in das Forum C++ (auch C++0x und C++11) verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.