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

筹建网站信息技术2022年最好用的搜索引擎

筹建网站信息技术,2022年最好用的搜索引擎,网站开发流程步骤,自建网站怎么做二级页跳转以对象管理资源 有这样一段代码: class A { public:A* create(){...}}; class B :public A { public:A* ptr create();...delete ptr; }; 我们定义了ptr去接收create()函数的返回值,并且在最后进行了回收资源。看似是没问题的。但是实际上有很多隐患&am…

以对象管理资源

有这样一段代码:

class A
{
public:A* create(){...}};
class B :public A
{
public:A* ptr = create();...delete ptr;
};

我们定义了ptr去接收create()函数的返回值,并且在最后进行了回收资源。看似是没问题的。但是实际上有很多隐患:

1.delete前的...或许有一个过早的return语句

2.delete语句位于某个循环内,也许会进行过早的goto或者break

3.delete前的...或许有一个异常抛出

所以这样写并不是最佳的。

那如何写呢? 

引入C++11的智能指针

class B :public A
{
public:auto_ptr<A> ptr(create());...};

不论控制流如何离开区块,一旦对象被销毁其析构函数自然会被自动调用,于是资源被释放

但是auto_ptr 的劣势也很明显:如果它被拷贝了并且同时指向一块内存,当其中一个指针释放这块资源时,另一个指针就会变成野指针。 

怎么办?

利用其他的智能指针

shared_ptr :

利用计数的思想,当多个指针同时管理一块资源时,每释放一个指针,计数减一,直到0便释放资源。避免了野指针的问题。

unique_ptr:

不允许拷贝,更杜绝了以上问题。

weak_ptr:

针对unique_ptr的缺陷(循环引用)进行填补.

所以:

1.为了防止资源泄漏,请使用RAII对象

2.尽量少使用auto_ptr 

http://www.mmbaike.com/news/110476.html

相关文章:

  • 新版wordpress头像石家庄百度快照优化
  • 嘉兴网站建设seo百度搜题网页版入口
  • 电脑传奇游戏哪个好玩seo查询是什么意思
  • 网站制作中企动力福建百度代理公司
  • 网站推广方法的费用廊坊seo推广
  • 网站开发时什么时间适合创建视图搜索引擎优化解释
  • 免费网站统计合肥建站公司seo
  • 北京seo邢云涛优化网站排名技巧
  • 良匠网站建设招商外包
  • 网站系统测试方法提升关键词
  • 知名企业文化案例宁波如何做抖音seo搜索优化
  • 怎么利用网站做淘宝客邀请注册推广赚钱的app
  • 怎么做快三一模一样的网站类似58的推广平台有哪些平台
  • 做网站老板不发工资我拿尾款微信营销的特点
  • 哪些网站可以做问卷外贸网络营销
  • 做网站推广优化靠谱郭生b如何优化网站
  • 深圳网站建设 设计首选网络营销理论包括哪些
  • wordpress+4.5+多站点百度seo
  • 微商推广哪家好百度关键词优化词精灵
  • 自己做一个网站全球搜索网站排名
  • 重庆忠县网站建设公司哪家专业站长工具查询域名
  • vs2010做的网站百度贴吧怎么做推广
  • html5快速建站百度一下百度知道
  • 知名响应式网站企业慧聪网seo页面优化
  • 广告联盟排行关键词排名的排名优化
  • 谷歌seo是啥成都seo公司排名
  • 网站Api接口怎么做怎么快速优化关键词
  • 移动端电商网站福州百度推广排名优化
  • 上虞网站建设哪家好北京网络推广外包公司排行
  • 陕西免费做网站花钱推广的网络平台