如果构造函数new了一个对象并使用成员指针变量保存的话,那么必须在析构函数delete它,这句话是什么意思

2025-02-27 12:41:59
推荐回答(1个)
回答1:

析构函数和构造函数,应该是public才行,这样外部才能调用。析构函数用来释放对象的,如果你的对象不是动态生成的,是不需要释放的。如你的inttest,这不是动态生成的,是不需要释放的。下面我写一个例子给你:#includeusing namespace std;class Test{public: char * buffer;public: Test(char * input) { buffer = new char[100]; strcpy(buffer, input); cout << buffer << endl; } ~Test() { // 这里要手动释放,如果不手动释放,会有内存泄露的 if (NULL != buffer) { delete buffer; buffer = NULL; } }};void main(){ Test test("hello");}