Dieses Unter der Annahme, C++, eine Funktion als const deklarierte zeigt an, dass es nicht an dem beabsichtigte Datenelement auf der Instanz ändern sie genannt wird, das heißt, die dieser Zeiger. Da es Möglichkeiten gibt, dies zu umgehen, handelt es sich nicht um eine Garantie, sondern lediglich um eine Erklärung.
eine statische Funktion arbeitet nicht auf eine bestimmte Instanz und damit nicht ein „dieses“ Zeiger nimmt. So ist es auf sehr naive Weise "const".
Wenn Ihre Methode muss nicht auf eine bestimmte Instanz gebunden zu sein, macht es Sinn, sie statisch zu machen.
Wenn Ihre Methode jedoch polymorph ist - das heißt, Sie stellen eine andere Implementierung basierend auf der Instanz des Objekts bereit, auf dem sie aufgerufen wird, kann sie nicht statisch sein, da sie von einer bestimmten Instanz abhängt.
A collogue von mir vorgeschlagen, dass der const Weg für Polymorphismus ermöglicht. Das ist interessant. Gedanken? – baash05
Warum ist das ein Community-Wiki? – Uri
Weil es nicht wirklich eine Antwort gibt. (abgesehen von dem, den mein Partner vorgeschlagen hat), und ich mag es nicht, wenn Fragen gestellt werden. In der Vergangenheit hat eine technische | ansprechbare Frage mich Punkte verloren. gebe ich einen Schrei über meine persönlichen Punkte nicht, aber ich fühlte mich persönlich für ungültig erklärt. Wenn ich ein T | S | A frage, verliere ich. Wenn ich ein "Was ist dein Liebling ..." frage, habe ich gewonnen. Mein Verständnis ist Gemeinschaft Wiki lässt meine Punkte in Ruhe. – baash05