C++高性能并行编程与优化 - 课件 - 02 现代 C++ 入门:RAII 内存管理
weak_ptr 理解为 shared_ptr 的弱引用。 但 weak_ptr 能提供失效检测,更安全。 智能指针:作为类的成员变量 • 可以在类中使用智能指针作为成员变量。需要根据实际情况 (主要是看所有权),判断要用哪一种智能指针: 1. unique_ptr :当该对象仅仅属于我时。比如:父窗口中指向子 窗口的指针。 2. 原始指针:当该对象不属于我,但他释放前我必然被释放时。 有一定风险。比如:子窗口中指向父窗口的指针。 还可以更好!刚才提到 unique_ptr 的应 用场景是“当该对象仅仅属于我时”。既然都 用了原始指针(假定他释放前我必然被释 放)。因为因此我们完全可以把 m_child 变成一个标志这“完全所有权”的 unique_ptr 。 • 这样也不需要 shared_ptr 维护一个原子 计数器的开销了。 休息一下……再想想? • 接下来你会发现,在智能指针的管理下,某些类型的对象并不是总是需要用到拷贝和移动0 码力 | 96 页 | 16.28 MB | 1 年前3
共 1 条
- 1