Ich habe in meinen späten Lesungen auf C ++ (speziell bei Boost) eine Menge Funktionen gesehen, die eine Schreibweise haben, die ich noch nie zuvor gesehen habe. Zum Beispiel:
%Vor%Sie können sehen, dass wir eine const nach dem Namen der Funktion haben! Ich habe das const-Schlüsselwort hauptsächlich auf den Funktionen gesehen Rückgabewerte (oder als Parameter) bezüglich ihrer Verwendung in Funktionen, aber dieses ist anders. Kann mir bitte jemand erklären, was es ist und warum wir es verwenden und wie unterschiedlich es von der konventionellen Verwendung von const on-Funktionen ist?
%Vor%Wenn Sie ein const-Objekt haben, können nur Member-Funktionen mit der Bezeichnung const aufgerufen werden. Zum Beispiel
%Vor%Außerdem kann eine konstante Elementfunktion keine Elementvariablen des Objekts ändern (es sei denn, die Elementvariablen werden als änderbar deklariert.) z. B.
%Vor%Es verbietet der Methode, Klassenmitgliedsvariablen zu ändern.
Eine gute Regel ist, eine Methode als const zu deklarieren, wenn sie const (es. getters) sein soll, aus mindestens zwei Gründen:
Trotzdem kann die Konsistenz einer Methode auf zwei Arten umgangen werden: