Was in einem Konstruktor (nicht) zu tun ist

Ich möchte Sie nach Ihren Best Practices für Konstruktoren in C ++ fragen. Ich bin mir nicht ganz sicher, was ich in einem Konstruktor machen soll und was nicht.

Sollte ich es nur für Attributinitialisierungen verwenden, übergeordnete Konstruktoren aufrufen usw.? Oder könnte ich ihnen sogar komplexere Funktionen hinzufügen, wie das Lesen und Parsen von Konfigurationsdaten, das Einrichten externer Bibliotheken usw.

Oder soll ich dafür spezielle Funktionen schreiben? Bzw.init() / cleanup()?

Was sind die PRO's und CON's hier?

Ich habe schon herausgefunden, dass ich zum Beispiel geteilte Zeiger loswerden kann, wenn ich @ benutzinit() undcleanup(). Ich kann die Objekte auf dem Stapel als Klassenattribute erstellen und sie später initialisieren, während sie bereits erstellt sind.

Wenn ich es im Konstruktor bearbeite, muss ich es zur Laufzeit instanziieren. Dann brauche ich einen Zeiger.

ch weiß wirklich nicht, wie ich mich entscheiden sol

Vielleicht können Sie mir helfen?

Antworten auf die Frage(26)

Ihre Antwort auf die Frage