没有 "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.

的适当实例