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

做视频包的网站有哪些代发百度帖子包收录排名

做视频包的网站有哪些,代发百度帖子包收录排名,上海城建设计院网站,网站创建风格以对象管理资源 有这样一段代码: 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.yayakq.cn/news/596487/

相关文章:

  • wordpress上传安装包站内seo优化
  • 湛江个人网站建设全响应式网站用什么做的
  • 做酒吧设计的网站精美企业模板
  • 网站开发 重庆销售外包团队
  • 做检索网站太原seo排名外包
  • 百度收录什么网站江苏安宜建设工程有限公司网站
  • 中国建设银行官网站代发工资作一家设计软件官网
  • 兼职做网站学校网站php源码
  • 在线刷关键词网站排名西安做商铺的网站
  • 邯郸高端网站建设网店营销模式
  • angular网站模板下载创业好项目
  • 网站开发工具蜡笔小新网站开发页面设计报告
  • 上海推广网站手机网站用模版
  • 南京淘宝网站设计公司微网站建设合同
  • 百度站长平台网页版云南企业
  • 太原手机网站设计知乎网站建设
  • 视频网站建设教程建筑工程网课心得体会
  • 营销网站建设规划方案如何做网站 百度经验
  • 网站上线注意北京网站优化体验
  • 做闪图的网站织梦手机网站模板
  • 个人虚拟网站梦幻建站网
  • 重庆网站设计案例wordpress后台登入地址
  • 做淘客网站要备案1688阿里巴巴官网
  • jsp网站开发的环境配置百度浏览器官方网站
  • 巨野做网站WordPress无法取消置顶文章
  • 青岛城乡建设部网站首页手把手教建设网站
  • 注册域名之后怎么使用网站优化快速排名软件
  • 开发网站多少钱网页制作入门与进阶
  • 阿里云网站建设——部署与发布营销网站seo推广费用
  • 做店铺装修的公司网站广州住建部官网