const
-
Ist es überflüssig, wenn man 2x const schreibt?
typedef unsigned long long nhuLong;
inline const nhulLong getAvailablePhysical(nhVoid) const { return(memStateEx_.ullAvailPhys); }
oder hat das den gleichen Effekt?
inline nhulLong getAvailablePhysical(nhVoid) const { return(memStateEx_.ullAvailPhys); }
-
Hallo
beide const haben eine unterschiedliche Bedeutung.
das const vor dem Rückgabetyp bedeutet das der zurückgegebene Wert const sein soll.
das const nach dem Methodennamen bedeutet das diese Methode auf dann aufgerufen werden kann, wenn die Instanz für die es aufgerufen wird const ist. Siehe auch hier.bis bald
akari
-
Also macht es nur dann Sinn, den Rückgabewert const zu machen, wenn man einen Zeiger oder eine Referenz zurückgibt.[cpp]
-
Hallo
So sehe ich das auch. Andereseits gibts es natürlich auch Konstellationen wo auch bei Rückgabe von Pointern/Referenzen eine Änderung möglich sein soll.
Beide const haben auch einen logischen Zusammenhang
class A { ... const class B* GetB() const {return m_b;}; class B* GetB() {return m_b;} }; const class A* a1; class A* a2; a1->GetB()->... // erster Getter wird verwendet, B kann nicht verändert werden a2->GetB()->... // zweiter Getter wird verwendet, B kann verändert werden
bis bald
akari