Ram*_*ngh 3 c++ delete-operator
可能重复:
(POD)释放内存:删除[]是否等于删除?
char* pChar = new char[10];
delete pChar; // this should not work but it has same effect as
// delete[], WHY?
// I know this is illegal, but why does it work?
Run Code Online (Sandbox Code Playgroud)
因为你很幸运 这是未定义的行为.未定义行为的一种可能性是,即使确实发生了一些糟糕的事情,也似乎没有任何不好的事情发生.你可能要到晚些时候才发现.
您不能指望使用原始类型是安全的.阅读本文(由James Roth在评论中链接):https://isocpp.org/wiki/faq/freestore-mgmt#delete-array-built-ins