In diesem Beispiel wird die Methode const nie aufgerufen. Wenn der Code komisch aussieht, hier ist, was ich versuche zu tun:Funktion Überladen mit Std :: Funktion Argument: Warum wird die Const-Methode nie aufgerufen?
Anstelle einer Getter-Methode, lassen Sie Clients Objekte durch Übergabe einer Funktion iterieren. Um sowohl den const als auch den nichtkonstanten Zugriff zu ermöglichen, möchte ich const und non-const overloads bereitstellen. Um die Kopie & Paste zu vermeiden, möchte ich außerdem die nicht-konstante Methode im Sinne der Methode const implementieren: Die Methode const in meinem Code ist tatsächlich komplizierter als die, die ich hier verwende.
Jetzt meine Fragen ist: Wenn Sie diesen Code ausführen, wird es die nicht-const-Funktion rekursiv aufrufen, bis der Stapel überläuft. Ich verstehe nicht, warum die Zeile doStuff([&func](const string *str)
in der non-const-Methode sich selbst nennt und nicht die const-Methode.
das Entfernen von 'const' würde zu Mehrdeutigkeiten führen –
Danke. Ich war mir nicht sicher. Ich werde das bearbeiten. – JKor