首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

问一个delete有关问题

2012-05-09 
问一个delete问题TCHAR *tmpnew TCHAR[255]delete tmp请问这个删除对不对啊[解决办法]delete tmp修改

问一个delete问题
TCHAR *tmp=new TCHAR[255];
delete tmp;

请问这个删除对不对啊

[解决办法]
delete tmp;
修改为delete[] tmp;
new的时候有[],delete也要有[]
[解决办法]
如果TCHAR是需要用构造函数来建造的类,那就该写成delete []tmp;

其实既然你用了new TCHAR[255],那用delete[]tmp就没错了。
[解决办法]
配对吧,不要做这些不规范的事情。
有的编译器或许会为你解决,当时代码不要做这些。
[解决办法]
如果是内置类型,则是等价的。

最好用delete [] xx 配对new xx[]
[解决办法]
delete用法:

1. int *a = new int;

delete a; //释放单个int的空间

2.int *a = new int[5];

delete [] a; //释放int数组空间

 

要访问new所开辟的结构体空间,无法直接通过变量名进行,只能通过赋值的指针进行访问.

用new和delete可以动态开辟,撤销地址空间.在编程序时,若用完一个变量(一般是暂时存储的数组),下次需要再用,但却又想省去重新初始化的功夫,可以在每次开始使用时开辟一个空间,在用完后撤销它.


[解决办法]
我来总结下,怎么New出来的就怎么删除吧。p = new char,那么delete p;如果p=new char[10],那么delete[] p
嘿嘿
[解决办法]
我也是不太清楚 来学习的
[解决办法]
配对使用。
new 出来的数组要用数组的删除方式.。
参见Effective C++ 条款8

热点排行