能释放p指向的数组中的第一个元素空间,而后面的63个不能释放,使用delete[]就能一起释放了.
建议你看一看堆和栈的概念。
顺便揭秘一下编译器在处理 new 和 delete 时对于数组和非数组的区别。
标准规定用 new [] 分配的,就要用 delete [] 释放。但是你知道为什么编译器知道这个数组有多大吗?
其实编译器在处理这两个东西的时候会自动多分配一段空间用于存储空间大小的信息。
对于g++而言,这个信息被储存在你获得的地址的前一个size_t大小的地方。
感兴趣的人可以试试。
可以,但建议用 delete [] a; 。
char 还好,如果是 class ,只有第一个元素的析构可以被 call,其它 63 个都不会。
可以
能啊