【发布时间】:2012-04-01 19:11:01
【问题描述】:
Objective C 引入了一种称为 ARC 的技术,以将开发人员从内存管理的负担中解放出来。听起来不错,如果g++也有这个功能,我想C++开发者会很高兴的。
ARC 允许您将内存管理的负担交给 (Apple LLVM 3.0) 编译器,而不再考虑保留、释放和自动释放
所以,如果 LLVM3.0 可以做到这一点,我认为 g++ 也可以将 C++ 开发人员从内存管理的繁重工作中解放出来,对吧?
将ARC引入C++有什么困难吗?
我的意思是:如果我们不使用智能指针,我们只使用new/new[],编译器是否可以为我们做一些事情来防止内存泄漏?比如自动将new改为智能指针?
【问题讨论】:
-
我承认我对 ARC 一无所知,但 C++ 有用于自动内存管理的智能指针(shared_ptr、unique_ptr 等)。你检查过吗?
-
如果你“做对了”,你应该(几乎)永远不需要在 C++ 中使用
new/delete。 -
@Mehrdad:
new很好,delete是坏人 :) -
@nightcracker: 不,他们同样邪恶。没有
delete的new也是邪恶的:) -
@Als: 使用智能指针,
delete会自动完成 :)
标签: c++ memory-management