Ich versuche, eine eindeutige ID für jedes erstellte Objekt zu haben, während ich gleichzeitig nachverfolge, wie viele Instanzen des Objekts erstellt wurden. Aber wenn der Destruktor aufgerufen und der Zähler verringert wird, ändert sich die ID mit.Statischer Zähler - wie ID nicht geändert wird [C++]
.h
class Objekt
{
public:
Objekt();
~Objekt();
int ID;
static int get_counter();
private:
static int counter;
};
CPP
#include "Objekt.h"
Objekt::Objekt()
{
counter++;
ID = counter;
}
Objekt::~Objekt()
{
--counter;
}
int Objekt::get_counter()
{
return counter;
}
Können Sie ein [mcve] bereitstellen, das unerwartetes Verhalten zeigt? – aschepler