shared_ptr<string> p1 = make_shared<string>(10, '9');  shared_ptr<string> p2 = make_shared<string>("hello");  shared_ptr<string> p3 = make_shared<string>(); 

C++11 中引入了智能指针, 同时还有一个模板函数 std::make_shared 可以返回一个指定类型的 std::shared_ptr

https://www.jianshu.com/p/03eea8262c11

// make_shared example
#include <iostream>
#include <memory>int main () {std::shared_ptr<int> foo = std::make_shared<int> (10);// same as:std::shared_ptr<int> foo2 (new int(10));auto bar = std::make_shared<int> (20);auto baz = std::make_shared<std::pair<int,int>> (30,40);std::cout << "*foo: " << *foo << '\n';std::cout << "*bar: " << *bar << '\n';std::cout << "*baz: " << baz->first << ' ' << baz->second << '\n';return 0;
}

C++ std::make_shared是什么怎么用相关推荐

  1. 【c++】4.std::shared_ptr、std::make_shared、 .get() 、.data()、void *p 的用法、裸指针

    std::shared_ptr.std::make_shared. .get() ..data().void *p 的用法.裸指针 (1)shared_ptr能够记录对象被引用的次数,主要被用来管理动 ...

  2. std::make_shared<T>/std::make_unique<T>与std::shared_ptr<T>/std::unique_ptr<T>的区别与联系

    (1).std::make_shared<T>与std::make_unique<T>相对于std::shared_ptr<T>/std::unique_ptr&l ...

  3. std::make_unique<T>和std::make_shared<T>

    更建议使用:std::make_unique<T>构造unique_ptr对象:std::make_shared<T>构造shared_ptr对象 std::make_shar ...

  4. std::make_unique和 std::make_shared区别

    区别1:分配除的指针,前者是不能赋值,只能move,后者可以赋值 区别2:前者使用智能指针数组,后者不行(因为后者分配出来的指针具有单一性) #include #include class A { p ...

  5. C++11 std::make_shared 与 std::shared_ptr双剑合璧

    项目做完上线,发现存在内存泄漏.因为客户端链接到服务器时传统new出来对象,断开链接后没有进行释放. 一.定时检测对象释放情况 代码如下: //1.开启服务监听 bool CWebServer::St ...

  6. C++11中std::bind的使用

    std::bind函数是用来绑定函数调用的某些参数的.std::bind它可以预先把指定可调用实体的某些参数绑定到已有的变量,产生一个新的可调用实体.它绑定的参数的个数不受限制,绑定的具体哪些参数也不 ...

  7. C++ 智能指针std::shared_ptr简单使用和理解

    参考:https://blog.csdn.net/u011068702/article/details/83692838 1  智能指针std::shared_ptr相关知识和如何使用 我们这里先说下 ...

  8. C++ 11三个新特性的简单使用 - std::function、lambda 表达式、智能指针

    使用Dev C++:先设置Dev C++ 支持 C++ 11:见此文后部: https://blog.csdn.net/bcbobo21cn/article/details/111466179 1 s ...

  9. make_shared和shared_ptr的区别

    struct A; std::shared_ptr<A> p1 = std::make_shared<A>(); std::shared_ptr<A> p2(new ...

  10. C++11新特性以及std::thread多线程编程

    一 .C++11新特性 1. auto 类型推导 1.1 当=号右边的表达式是一个引用类型时,auto会把引用抛弃,直接推导出原始类型: 1.2 当=号右边的表达式带有const属性时,auto不会使 ...

最新文章

  1. Browser Security-超文本标记语言(HTML)
  2. 通讯接口:I2C和USART,SPI,CAN,USB2.0
  3. wordpress怎么设置文章页面不打开新的窗口_2019 WordPress外贸网站SEO优化基础设置(新手图文教程)...
  4. c语言函数 fprintf()(向文件写入格式化字符串)
  5. Windows系统下彻底卸载MySQL数据库
  6. 程序员需要谨记的九大安全编码规则
  7. wine运行软件检测不到u盘_PE吧“U盘助理”——启动U盘制作图文教程-
  8. linux 重定向命令
  9. PMP_考前冲刺题(2022)(3A通过分享)(180题附答案及解析)
  10. Photoshop下载
  11. win7旗舰版激活提示错误代码0x80072EE2的最简单解决办法
  12. 【独家】一文读懂数据可视化
  13. ESXI上检测磁盘状态
  14. 计算几何之旋转卡壳算法
  15. python-web开发[12]之css案例、bootstrap探索
  16. 基于单片机的电流检测仿真设计(#0041)
  17. EPS是什么文件格式
  18. 艾永亮:产品做完后,第一步就是马上推广吗?
  19. IELTS Lexical Resources - Reading 1 social problem
  20. JavaIO流概念详解

热门文章

  1. 自考行政管理计算机应用基础好考吗,通过自考《计算机应用基础》之经验谈
  2. linux sfc模拟器,PSP适用SFC模拟器Snes9x完全使用教程
  3. 【CodeWars】Path Finder #2: shortest path
  4. Java Swing 开发总结汇总贴
  5. 微信小程序-- WXS 脚本语言公测
  6. byte[]数组转String中文乱码
  7. 解决:vue组件顶部留有空白问题
  8. Xshell7的下载和安装
  9. Xshell 下载及安装
  10. 2011微软校园招聘笔试题