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

Beitrag lesen

Hallo @hmm,

Wenn ich kein bla; am Ende der Definition reinsetze sagt mir meine IDE:

fehler: return type may not be specified on a destructor

Was für eine IDE ist das denn? Denn der Destruktor hat auch in deinem Fall ja gar keinen Rückgabetyp.
Wenn ich den GCC verwende, stößt der sich an etwas Anderem: Er mag std::char nicht.

Das Programm erzeugt Objekte von irgendEinKlasse und zerstört diese wieder. Das muss ich Dokumentieren. Das tue ich derzeit dadurch, dass ich im Destruktor von irgendEinKlasse meine static Map erweitere.

Das sollte soweit auch funktionieren, oder?

Jetzt möchte ich u.a. die Durchschnittliche Anzahl an Aufrufen von irgendEinKlasse::FunktionDieAufgerufenWird() über alle Objektinstancen von irgendEinKlasse berechnen und das ausgeben.

Genau, dafür brauchst du die Anzahl aller Instanzen, die du erst am Ende hast.

Ich kann den Aufrufenden Code leider nicht modifizieren und ich weiß nicht wann die letzte Instancz gebaut bzw. zerschlagen wird. Aus diesem Grund baue ich die Klasse bla welche genau dann zerstört wird, wenn das Programm beendet wird, …

Vielleicht hilft dir ja die Funktion atexit weiter.

wäre meine static map ein int so würde ich alle erforderlichen daten in ~bla haben… leider würde es zuviel laufzeit fressen diie map daten regelmäßig in ein txt file zu schreiben …

Um welche Datenmengen handelt es sich denn? Und die könnten ja auch asynchron, d.h. in einem zweiten Thread, geschrieben werden.

Viele Grüße
Robert