没有 "new" 的 C++ 删除运算符
C++ delete operator without "new"
是否可以在 class 实例上使用 delete 运算符而不使用 new 运算符来释放内存?像这样:
Class myclass{public void hi{std::cout<<"hi\n";};}
myclass class1;
delete &class1;
class1.hi(); //results in error
谢谢
不,行为将是 未定义。
您只能在 new
提供给您的指针上使用 delete
。指针的 type 也需要相同,除非它指向多态 class.
的适当实例
是否可以在 class 实例上使用 delete 运算符而不使用 new 运算符来释放内存?像这样:
Class myclass{public void hi{std::cout<<"hi\n";};}
myclass class1;
delete &class1;
class1.hi(); //results in error
谢谢
不,行为将是 未定义。
您只能在 new
提供给您的指针上使用 delete
。指针的 type 也需要相同,除非它指向多态 class.