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

网站目录管理模版好看的网站建设公司

网站目录管理模版,好看的网站建设公司,做试题的网站,游戏怎么做充值网站基础介绍 虽然在c11版本std::unique_ptrT已经引入#xff0c;但是在c14版本引入之前#xff0c;std::unique_ptrT的创建还是通过new操作符来完成的。在c14版本已经引入了类似make_shared的std::make_unique#xff0c;目的是提供更加安全的方法创建std::un…基础介绍 虽然在c11版本std::unique_ptrT已经引入但是在c14版本引入之前std::unique_ptrT的创建还是通过new操作符来完成的。在c14版本已经引入了类似make_shared的std::make_unique目的是提供更加安全的方法创建std::unique_ptrT防止产生资源泄露等问题。 为什么要引入std::make_uniqueT? 首先请看下面这句话 std::make_unique is the recommended way to create instances of std::unique_ptrs due to the following reasons: Avoid having to use the new operator.        避免使用new操作符 Prevents code repetition when specifying the underlying type the pointer shall hold.         避免类型重复结合auto关键字可以使用类型推导 Most importantly, it provides exception-safety.          最重要的是它提供了异常安全。 下面我们着重分析一下第2点和第3点先说第二点避免代码重复(code repetition)应该按下面的方式理解 //不使用std::make_unique // 需要重复写类型名 std::unique_ptrstd::vectorstd::string ptr(new std::vectorstd::string());// 模板类中更麻烦 templatetypename T class Container {std::unique_ptrstd::vectorT data(new std::vectorT()); };//使用std::make_unique // 类型推导无需重复 auto ptr std::make_uniquestd::vectorstd::string();// 模板类中更简洁 templatetypename T class Container {auto data std::make_uniquestd::vectorT(); };现在分析最重要的第3点即为什么std::make_unique可以提供异常安全。看下面的例子: foo(std::unique_ptrT{new T{}}, function_that_throws(), std::unique_ptrT{new T{}}); 上例中foo函数为什么不安全呢原因是编译器并不会规定参数求值的执行顺序那么可能是顺序是 执行new T参数一执行new T 参数二执行function_that_throws() --抛出异常构造std::unique_ptrT 参数一构造std::unique_ptrT 参数二 我们知道std::unique_ptrT自身可以管理资源当std::unique_ptrT对象出了其作用后会自动释放资源但是如果在第3步的时候抛出了异常导致后面的std::unique_ptrT对象未创建成功则会导致内存泄露。 而使用std::make_uniqueT方式创建对象如下所示 foo(std::make_uniqueT(), function_that_throws(), std::make_uniqueT()); std::make_unique可以保证参数一创建完成即生成std::unique_ptrT后再执行后面的操作此时由于std::unique_strT对象已经生成即使后续抛出异常那么这块内存也会得到释放。
http://www.hkea.cn/news/14434558/

相关文章:

  • 做棋牌推广网站违反不wordpress图片自动分页插件下载
  • dw做的简单的个人网站网盘wordpress 采集器
  • 做网站的html框架潮流设计网站
  • 织梦网站如何上传中国制造app下载安卓版
  • 建设医院网站pptwordpress 更改媒体库路径
  • 网站开发需求大厅企业展厅设计公司名称
  • 营销网站建设公司排名如何建立的网站能争钱
  • 网站做非经营性广告需备案百度官方网首页
  • wordpress如何建立网站如何制作简单的宣传片
  • 集团网站设计思路wordpress 上传图片不显示
  • 四川省建设厅职称评审网站库尔勒 网站建设
  • 网销网站建设流程图wordpress 手机 跳转
  • 用几个域名做网站好杭州网站案列
  • 如何添加网站白名单大良营销网站建设平台
  • 公司做一个网站内容如何设计做网站需要备几个案
  • 重庆南岸营销型网站建设公司哪家专业企业网站合同
  • 网站开发项目描述广州学建网站
  • 排名好的青岛网站建设网站建设咨询费用
  • 网站建设怎么搞微信如何建网站
  • 嘉兴建站公司夏邑县百城建设提质网站
  • 哈尔滨市做淘宝的网站网络架构和网络拓扑的区别
  • 山西建网站商品门户网站解决方案
  • 建论坛网站多少钱温州网站升级
  • 骨干专业建设网站wordpress数据库链接
  • 做网站电话沧州宁波公司网站开发招聘
  • 物流企业网站建设策划书企业文化墙制作
  • 哪里有做网站设计sem模型
  • 设计素材网站有哪些免费上海微信网站建设费用
  • 湖南做网站公司专门做自助游的网站
  • 广西网站建设价格网站域名怎么解释