关于new和delete的问题
看书上说了用new分配的内存应该用delete删除,用new []分配的内存应该用delete []删除,假如我想申请一段内存,下面是代码:
char * pBuffer = 0;
int iTemp = 0;
...
pBuffer = new char[iTemp];
...
delete [] pBuffer;
pBuffer = 0;
上面的做法应该没有错吧?
我想问一下,如果 iTemp = 1 时,也就是 pBuffer = new char[1] ,这种申请内存的方式与pBuffer = new char 有区别吗?它们应该都申请了一个字节的内存但是在编写方式上不同,当iTemp = 1时,用delete 删除和用delete [] 删除的区别是什么呢?
或者简单的说C++是如何区分只有一个元素的数组的?
先谢谢各位了!