这个问题在这里已经有了答案:
10年前关闭。
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?
最佳答案
它可能看起来具有相同的效果,但事实并非如此。如果您的数组类型是抽象数据类型(即类),则不会调用最后九个元素的析构函数。
关于C++删除运算符混淆,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3144420/