shared_ptr和iOS中的引用计数是相同的想法吗
Are shared_ptr and the reference counting in iOS the same idea?
我对C++或iOS都不太熟悉,所以我很好奇iOS的引用计数在boost共享指针和NSObject中是否基本相同?
根据我在这里收集的信息,使用ARC与使用std::shared_ptr
("强"指针)和std::weak_ptr
("弱"指针)非常相似。
滥用前者,避免后者。无论如何,如果可以的话,更喜欢std::unique_ptr
。
(此外,我有点惊讶,你在为iOS编程时不得不手动释放指针。在21世纪。)
我对C++不是很有经验,所以我对shared_ptr的看法可能不完全正确,但对我来说,它们似乎并不相似。在Obj-C中有两个选项。手动内存管理-您可以手动增加和减少对象的引用计数,这里没有魔法。新的ARC主要是编译时功能,而shared_ptr只是运行时实现。
相关文章:
- 将对象数组的引用传递给函数
- 什么时候在C++中返回常量引用是个好主意
- 我想将一个对T类型的非常量左值引用绑定到一个T类型的临时值
- 何时在引用或唯一指针上使用移动语义
- 如何在c++中使用引用实现类似python的行为
- C++:在不中断共享的情况下通过引用传递共享 PTR?
- 引用 std::shared:ptr 以避免引用计数
- 如何控制共享 ptr 引用计数?
- 对唯一 ptr 无效读取的引用向量
- C++ 类型转换基础 PTR 到派生 PTR 保存在引用类中
- 为什么在将常量 ptr 分配给常量引用时没有收到编译错误?
- C 在多个引用上共享PTR发布
- 取消引用适用于 ptr->运算符*(),但不适用于 *ptr
- 在记录错误时取消引用 ptr 的设计是错误的
- 如何检测ptr在引用超出范围后是否仍在引用有效引用
- 在malloc()之后初始化结构中对ptr的引用
- 我应该通过引用、值或ptr来存储一个完全封装的成员吗
- 添加对共享ptr的引用会增加引用计数吗?
- 将字符串引用作为参数传递时Ptr错误
- 共享 PTR - C++ 如何使用引用计数管理对象缓存