文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>由delete void* 想到的

由delete void* 想到的

时间:2010-05-19  来源:liuyun213

由delete void* 想到的   发现自己对delete void* 还不是很熟悉,知道不应该这么做,于是google之,先将结果记录如下 delete void* 对于单纯的类型(基本类型)来说,没什么问题,无非就是释放空间而已
而对于自定义类型来说(主要是class),不会调用实际类型的析构函数,有可能造成资源泄漏
在delete T* 时,会先调用类型 T 的析构函数,然后再释放空间,而delete void* 类型是缺少了调用析构函数这一步。
相应地,在new T 时,会先分配空间,然后再调用对应的构造函数。
在C语言里,堆空间的使用时通过malloc/free等函数实现的,它们操作的都是无类型的,接void*的
在C++里面,一般使用new/delete操作符。new/delete操作符是类型化的操作,即都指明了类型,如:
T* pT = new T();
delete pt;
在C++里,也有只分配空间不调用对应构造函数的操作:
1、operator new 和operator delete
2、class allocator
对于它们用法还不是很熟悉,以后再说了
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载