Nos*_*tap 3 c++ destructor memory-management smart-pointers raii
我正在编写一个C++析构函数(我希望这是正确的术语;我是C++的新手)并且我对垃圾收集的确切需要并不是肯定的.假设我有2个指针作为实例变量我需要垃圾收集吗?如果我有一个对象作为实例变量呢?或指向对象的指针?
对于究竟需要删除的内容以及自动清理的内容,我只是有点模糊.
谢谢
Sio*_*vok 11
一般的经验法则是...如果你打电话new,打电话delete.如果你打电话new[],打电话delete[].如果您正在访问类之外的这些指针并有效地共享它们,那么您将需要delete在共享对象仍处于使用状态时小心"拥有"对象.垃圾收集不是一个正确的术语.你想要destroy对象free及其内存.这是什么delete/ delete[]做什么.new/ new[]分配内存和construct对象.
new
delete
new[]
delete[]
destroy
free
construct
在C++中,没有垃圾收集器.你必须"手动"处理它.这并不是说它是乏味的.你可能会开始使用智能指针为你处理一些逻辑.有关更多信息,请参阅此问题.
归档时间:
14 年,5 月 前
查看次数:
603 次
最近记录: