可能重复:
返回指针后删除堆
我有一个带有成员函数的类:
char* toChar();
成员函数分配内存并返回指向该内存的指针......
可以说我会这样使用它:
int main() {
MyClass mc = new MyClass();
char* str = mc.toChar();
return 0;
}
我应该在哪里释放内存?在类的析构函数中或在这样的程序中:
int main() {
MyClass * mc = new MyClass();
char* str = mc.toChar();
// tostuff with str
delete mc;
delete[] str;
return 0;
}