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

做网站如何寻找客源有实力的网站排名优化软件

做网站如何寻找客源,有实力的网站排名优化软件,抖音seo软件工具,就业指导中心网站建设总结使用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.tj-hxxt.cn/news/73160.html

相关文章:

  • 建设网站网页打不开保定seo建站
  • 什么做电子书下载网站好产品推广渠道有哪些方式
  • 合肥专业商业网站关键词优化资讯
  • 威海哪家网站做的好微信推广怎么弄
  • 网站打开404错误怎么解决方法产品推广步骤
  • 荷城网站制作公司视频号排名优化帝搜软件
  • 网站开发标书范本黄冈seo
  • 什么网站做批发凉席广州百度竞价外包
  • 网站建设服务商是什么品牌词优化
  • 青岛做网站产品营销网站建设
  • 长春做网站多少钱提交链接
  • 长春网站开发培训在线工具网站
  • 做外贸有什么免费网站如何在百度做推广
  • 创建一家网站如何创外链在线生成
  • 做动态网站的总结免费大数据网站
  • 机关党建网站建设策划关键词优化的策略有哪些
  • 电影网站做淘客免费发布平台
  • 上海企业网站制作费用国家大事新闻近三天
  • 网络优化的内容包括哪些汕头seo服务
  • 教育机构网站源码海口网站排名提升
  • 个人如何做跨境电商?广州seo培训
  • 兰州公司网站建设可以免费做网站推广的平台
  • 政府蒙古文网站建设汇报推广之家官网
  • 专门做地图的网站网站建设的重要性
  • 北京网站建设升上去进入百度官网首页
  • dede幼儿园网站模板seo对网络推广的作用是什么?
  • 京东优惠券网站建设怎么自己做一个小程序
  • 外贸做包装袋哪个网站好搜索引擎优化工作
  • 网站关键字在哪设置互联网广告公司
  • 网页制作软件安卓版seo外链网