这个没什么好说的了,如果你在new表达式中使用[],必须在相应的delete表达式中也使用[]。如果你在new表达式中不使用[],一定不要在相应的delete表达式中使用[]。
因为数组的内存布局和普通对象的内存布局不同,混用是UB,具体的布局和编译器实现有关,不过多讨论。
这个没什么好说的了,如果你在new表达式中使用[],必须在相应的delete表达式中也使用[]。如果你在new表达式中不使用[],一定不要在相应的delete表达式中使用[]。
因为数组的内存布局和普通对象的内存布局不同,混用是UB,具体的布局和编译器实现有关,不过多讨论。