![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
智能指针
不死奇迹
和一群有趣的灵魂,享受有趣的故事
展开
-
c++智能指针
C++ 11shared_ptrunique_ptrweak_ptrauto_ptr(被 C++11 弃用)Class shared_ptr 实现共享式拥有(shared ownership)概念。多个智能指针指向相同对象,该对象和其相关资源会在 “最后一个 reference 被销毁” 时被释放。为了在结构较复杂的情景中执行上述工作,标准库提供 weak_ptr、bad_weak_ptr 和 enable_shared_from_this 等辅助类。Class unique_ptr 实现独占式原创 2022-02-17 13:49:32 · 158 阅读 · 0 评论 -
std::shared_ptr 的使用
点击查看转载 2021-05-21 15:13:08 · 375 阅读 · 0 评论 -
C++智能指针作为函数形参和函数返回值的应用场景
当智能指针作为函数形参时,在调用此函数时,形参代表的智能指针的引用计数将+1,同时退出此函数时,该形参的引用计数将-1.当形参不是智能指针时,调用该函数和退出该函数时,该形参的引用计数不会变化:当函数的内部创建一个智能指针,并需要在函数外使用时,此时,函数的返回值必须为该智能指针类型(即函数内创建的智能指针退出该函数时,引用计数不会-1),否则,当函数体执行结束时,该智能指针引用计数...原创 2018-11-23 17:38:05 · 12458 阅读 · 1 评论 -
C++智能指针
STL一共给我们提供了4种智能指针:auto_ptr、unique_ptr、sharedptr和weak_ptr(本文档暂不介绍)。C++所有的智能指针类都有一个“explicit”构造函数(使其不能使用隐式转换!!),以指针作为参数。比如auto_ptr的类的模板原型为:因此,不能自动将指针转换为智能指针对象,“必须显示调用”,例子如下:对于智能指针都应该避免一点:即:不要将“...原创 2018-11-23 11:41:24 · 89 阅读 · 0 评论