hmm: C++: char* behält zugewiesenen wert und std::string nimmt default an... wieso?

Beitrag lesen

Hi danke. das irgendein Destruktor die Daten weghaut kann sehr gut sein.

Mein kompliziertes Daten-Objekt sieht so aus:

typedef std::map<std::string, int> StateCounter;
typedef std::vector<StateCounter> StateCounterVector;
struct TransitionCounter
{
	StateCounterVector stateCounters;
};
typedef std::map<std::string, TransitionCounter> StimulationToTransitionMap;

Eine solche StimmulationToTransitionMap möchte ich in ~Bla verwenden. Wie schaffe ich das?

Ich weiß leider nicht wann irgendEinKlasse::FunktionDieAufgerufenWird() das letzte mal aufgerufen wird und irgendEinKlasse wird sehr häufig erstellt und wieder vernichtet, jedesmal mit mehreren Funktionsaufrufen.

Was macht denn das Bla nach dem Ende der Klassendefinition?

Es soll die Daten der StimulationToTransitionMap aufbereiten und in ein File schreiben.

Welchen Zweck hat die Klasse, wenn es keine sinnvollen Objekte davon gibt? Deine static-Attribute sind Klassenattribute, keine Klassenattribute.

Ich brauche das Objekt um das Ende des Programms zu finden. Das liegt daran, dass irgendEinKlasse immer wieder gebaut und zerlegt wird und jedesmal die FunktionDieAufgerufenWird ausgelöst wird. Die FunktionDieAufgerufenWird schreibt man dann jedesmal weitere Daten in meine static Map.

Warum definiert die Klasse als einzige Methode den Destruktor?

oben.