我在寻找一组代码片段: ip = new int[100];上面的例子指出: ip = new int[100];真的是这样吗?我使用编译器"Microsoft (R) 32位C/C++优化编译器版本11.00.7022 for 80x86“,在编译时不抱怨(第一个示例)。在运行时,指针被设置为NULL。
当我试图delete[]一个与new[]一起分配的数组时,程序会崩溃。我看不出有什么理由不应该这样做。数组在方法中被分配,在它的末尾被删除,它是本地的,一切都应该很好,但它不是。通过调试,我看到第一次delete[]操作符就会发生崩溃。如果没有这两个delete,就不会发生崩溃,但我不希望内存中有什么东西浮动。}
del
我知道如果我使用new[],我必须使用delete[],但这是我的疑问:char **data; // This will be a bi-dimensional arraydatadata[i]; // <--- delete or delete[] ???}另一种情况是我有一个对象数组:myClass **object;object = new myClass*[10];
for (int i=0; i