Revision: 54243
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at December 16, 2011 09:52 by huanglx
Initial Code
class Number { public: Number() { cout << "number constructor" << endl; } ~Number() { cout << "number destructor" << endl; } }; class Photo { public: Photo() { cout << "photo constructor" << endl; } ~Photo() { cout << "photo destructor" << endl; } }; class Voice { public: Exp() { throw -1; } ~Exp() {} }; class Entry { public: Entry() : m_number(new Number()), m_photo(new Photo()), m_voice(new Voice()) {} ~Entry() {} private: const auto_ptr<Number> m_number; const auto_ptr<Photo> m_photo; const auto_ptr<Voice> m_voice; }; try { Entry * entry = new Entry(); } catch ( int e ) { cout << "m_number and m_photo have been cleaned up" << endl; }
Initial URL
Initial Description
An example showing how to solve the memory leak problem in constructor
Initial Title
Memory Leak in Constructor (C++)
Initial Tags
c++
Initial Language
C++