博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shared_ptr 知识汇总
阅读量:6278 次
发布时间:2019-06-22

本文共 1167 字,大约阅读时间需要 3 分钟。

接口:http://zh.cppreference.com/w/cpp/memory/shared_ptr 这个网站比较好,概念比较简洁

如何使用:http://www.cnblogs.com/TianFang/archive/2008/09/19/1294521.html

 

boost::shared_ptr并不是绝对安全,下面几条规则能使我们更加安全的使用boost::shared_ptr:

    1. 避免对shared_ptr所管理的对象的直接内存管理操作,以免造成该对象的重释放
    2. shared_ptr并不能对循环引用的对象内存自动管理(这点是其它各种引用计数管理内存方式的通病)。
    3. 不要构造一个临时的shared_ptr作为函数的参数。
    代码实例
    1. #include "stdafx.h"#include 
      #include
      using namespace std;class implementation{public: ~implementation() { std::cout << "destroying implementation\n"; } void do_something() { std::cout << "did something\n"; }};void test(){ std::shared_ptr
      sp1(new implementation()); std::cout << "The Sample now has " << sp1.use_count() << " references\n"; std::shared_ptr
      sp2 = sp1; std::cout << "The Sample now has " << sp2.use_count() << " references\n"; sp1.reset(); std::cout << "After Reset sp1. The Sample now has " << sp2.use_count() << " references\n"; sp2.reset(); std::cout << "After Reset sp2.\n";}int main(){ test();}

转载于:https://www.cnblogs.com/hellozhuzi/p/5720921.html

你可能感兴趣的文章
Android 密钥保护和 C/S 网络传输安全理论指南
查看>>
以太坊ERC20代币合约优化版
查看>>
Why I Began
查看>>
同一台电脑上Windows 7和Ubuntu 14.04的CPU温度和GPU温度对比
查看>>
js数组的操作
查看>>
springmvc Could not write content: No serializer
查看>>
Python系语言发展综述
查看>>
新手 开博
查看>>
借助开源工具高效完成Java应用的运行分析
查看>>
163 yum
查看>>
第三章:Shiro的配置——深入浅出学Shiro细粒度权限开发框架
查看>>
80后创业的经验谈(转,朴实但实用!推荐)
查看>>
让Windows图片查看器和windows资源管理器显示WebP格式
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
vim使用点滴
查看>>
embedded linux学习中几个需要明确的概念
查看>>
mysql常用语法
查看>>
Morris ajax
查看>>
【Docker学习笔记(四)】通过Nginx镜像快速搭建静态网站
查看>>