*erledigt* std::vector und eigene Klassen
-
Hallo zusammen.
Ich wollte mir mal anschauen, wie sich std::vector mit eigenen Klassen verhält, insbesondere mit Kon- und Destruktor, wobei ich merkwürdige Ergebnisse erhalten habe. Im folgenden ist CTest eine Klasse mit einem einfachen Konstruktor sowie Destruktor, welche in der Konsole jeweils ausgegeben haben, wenn sie aufgerufen wurden:
vector<CTest> v; v.push_back (CTest()); // CTest::CTest() called // CTest::~CTest() called // CTest::~CTest() called v.clear(); // CTest::~CTest() calledWieso wird der Destruktor gleich drei Mal aufgerufen?
Grüße,
Marc** edit **
Hat sich erledigt: Der implizit erstellte Kopierkonstruktor wurde nicht angezeigt.
-
schau mal hier:
http://www.henkessoft.de/C++/C++ Fortgeschrittene/C++_Fortgeschrittene.htm#2.2._Unsere_Testklasse_loggt_mit
http://www.henkessoft.de/C++/C++ Fortgeschrittene/C++_Fortgeschrittene.htm#2.3._Unsere_Testklasse_im_Container