在c ++ 11中,我们有shared_ptr
,当我们与new
一起使用时,我们不必在以后明确地调用delete
。这部分工作由shared_ptr
代替。
话虽如此,为什么ppl继续说c ++中没有垃圾收集器?
这里缺少什么?
我可以在c ++中使用/想到shared_ptr
作为垃圾收集器吗?
答案 0 :(得分:0)
在具有垃圾收集的语言中,如Java和C#,你无法避免它。所有对象都自动进行垃圾回收。
C ++允许您自行清理,但您必须选择使用它。
答案 1 :(得分:0)
shared_ptr是一个类类型,当shared_ptr的实例被销毁时,shared_ptr的析构函数将释放内存,这不是GC。