当前位置: 首页 > news >正文

闲置服务器做网站网络营销服务外包

闲置服务器做网站,网络营销服务外包,怎么申请网站空间,怎样找到工厂直招网站使用std::make_shared相比于直接使用new和std::shared_ptr构造函数在内存分配和管理方面更为高效,主要原因如下: 内存分配效率 std::make_shared通过一次内存分配来同时分配控制块(用于引用计数等)和对象的内存。这种方式减少了…

使用std::make_shared相比于直接使用newstd::shared_ptr构造函数在内存分配和管理方面更为高效,主要原因如下:

内存分配效率

std::make_shared通过一次内存分配来同时分配控制块(用于引用计数等)和对象的内存。这种方式减少了内存分配的次数,提高了效率。

auto sp = std::make_shared<int>(10);

这里,std::make_shared一次性分配了包含控制块和int对象的内存。

直接使用newstd::shared_ptr构造函数

直接使用newstd::shared_ptr构造函数通常需要进行两次内存分配,一次用于对象本身,另一次用于控制块。

std::shared_ptr<int> sp(new int(10));

这里,new int(10)分配了对象的内存,然后std::shared_ptr构造函数再分配控制块的内存。

内存局部性

由于std::make_shared将对象和控制块分配在一起,这些内存通常是连续的,能够更好地利用CPU缓存,提高程序的运行效率。

异常安全性

使用std::make_shared能够确保在对象构造期间如果抛出异常,不会导致内存泄漏。因为对象和控制块的内存是在一次操作中分配的,如果构造对象时抛出异常,分配的内存会自动释放。

auto sp = std::make_shared<int>(10); // 如果在构造int对象时抛出异常,内存会被自动释放

而使用newstd::shared_ptr构造函数时,如果在对象构造期间抛出异常,可能会导致内存泄漏,因为new分配的内存不会被自动释放。

std::shared_ptr<int> sp(new int(10)); // 如果在构造int对象时抛出异常,new分配的内存不会被自动释放

总结

std::make_shared在内存分配和管理方面更为高效的原因包括:

  1. 通过一次内存分配同时分配控制块和对象的内存,减少了内存分配的次数。
  2. 更好的内存局部性,能够更有效地利用CPU缓存。
  3. 提供更好的异常安全性,防止在对象构造期间发生异常时导致的内存泄漏。
http://www.yayakq.cn/news/379595/

相关文章:

  • 网站建设招标公告膳食管理东莞网站建设技术支持
  • 五合一网站定制中国最新军事新闻500字
  • 东莞服装网站建设门户网站建设的报价
  • 托管网站北京成交型网站建设价格
  • ru域名注册深圳排名优化哪家专业
  • 传扬互动网站建设公司wordpress无法选择数据库
  • 哪里有学做视频的网站3网站违规关键词
  • 什么网站是做家教的竞价排名点击器
  • 云主机可以做几个网站站长工具官网查询
  • 做游戏网站教程谷歌google下载安卓版 app
  • 广州网站优化招聘wordpress自动加载
  • 淄博做网站公司有哪些漳州网站建设 林
  • 自己做网站需要备份么wordpress 360友链
  • 做的最好的视频教学网站三元桥做网站的公司
  • 有没有做推文的网站学校专业建设规划
  • 网站建设小说做网站用突发性实例可以吗
  • 大兴网站开发网站建设报价免费软件看电影电视剧
  • 国土政务网站建设制度书画院网站建设
  • 广西金利建设有限公司网站免费logo设计网址
  • 牛商网朱依静沈阳网络推广优化
  • 网站制作公司成都wordpress顶部图片
  • 创建一个网站英语北京的广告公司有哪些
  • 比特币简易网站开发南通网络推广公司
  • 浙江恒元建设网站wordpress首页图片不显示
  • 网站设计术语网络编程就业前景
  • 太原网站建设注意英文站友情链接去哪里查
  • 宁津网站开发wordpress主题繁体
  • 机票网站开发知乎做一个普通网站多少钱
  • 电子商务网站建设的规划方案襄阳住房和城乡建设局网站首页
  • iis网站出乱码响应式购物网站设计