84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
开启了ARC的objective-C++代码中C++对象是否需要手动释放?
学习是最好的投资!
需要。ARC 只是一个编译器技术,通过扫描代码来自动插入 retain/release,C++ 代码并不在编译器识别的范围内,生命周期只有自己管理。
另外,ARC 这种技术是因为 Obj-C 语言自身无法实现自动引用计数才不得已而为之的“落后”技术,C++ 的话直接使用 shared_ptr/unique_ptr/weak_ptr 这些标准库提供的智能指针类就能够写出跟 ARC 一样干净的代码。某种意义上来说,用了智能指针,C++ 的对象就不需要手动释放了。
需要。ARC 只是一个编译器技术,通过扫描代码来自动插入 retain/release,C++ 代码并不在编译器识别的范围内,生命周期只有自己管理。
另外,ARC 这种技术是因为 Obj-C 语言自身无法实现自动引用计数才不得已而为之的“落后”技术,C++ 的话直接使用 shared_ptr/unique_ptr/weak_ptr 这些标准库提供的智能指针类就能够写出跟 ARC 一样干净的代码。某种意义上来说,用了智能指针,C++ 的对象就不需要手动释放了。