Static Counter wird nicht erhöht
-
This post is deleted!
-
static auto id = m_counter++;
Dies ist eine Initialisierung, d.h. die Zuweisung findet nur genau beim ersten Aufruf der Funktion statt (wegen der statischen Variablen).
Entferne einfach static:
auto id = m_counter++;
-
Die Zeile 11, inklusive aller Nebeneffekte, wird nur einmalig durchgeführt, nämlich dann, wenn Foo:GetId erstmalig aufgerufen wird. Der static-Modifizierer bei
id
bedeutet schließlich, dassid
persistent zwischen mehrfachen Funktionsaufrufen ist. Entsprechend wird es auch nur einmal initialisiert.
-
This post is deleted!