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

如何建设传奇网站新手做市场分析的网站

如何建设传奇网站,新手做市场分析的网站,网页制作与设计书籍心得体会,一起做网店17广州沙河以对象管理资源 有这样一段代码: 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/716410/

相关文章:

  • 东莞做网站设计制作西安网站搭建
  • 小型企业网站如何建设网站开通会员怎么开发
  • 学校网站建设厂家如何在阿里云云服务器上搭建网站
  • asp 女性 美容 知识 网站 源码网站开发招聘要求
  • 吉林省建设信息网站教育网站设计欣赏
  • 网站建设论文选题常见网站结构有哪些
  • 为什么网站找不到了产品推广计划怎么写
  • 网站建设公司推荐北京华网在线免费源码资源源码站
  • 做网站品牌公司专科千万别学数字媒体应用技术
  • 企业网站开发中文摘要在线网站备份
  • 做企业的网站wordpress 不显示缩略图
  • 网站建设费用摊销多少年汕头站扩建后比哪个站大
  • 企业网站建设变相收取等级保护费企业网站模板观叫湖南岚鸿团队
  • 移动端网站如何优化一个网站需要几个人做
  • wordpress网站框架上海建筑建材业信息网
  • 普陀网站制作网站demo制作工具
  • 网站的域名技巧和空间选择个人网站制作方法
  • 中国水电建设集团港航建设有限公司网站爱字幕app制作视频软件下载
  • 做自动采集电影网站有什么处罚自助游网站开发分析报告
  • 陕西企业营销型网站建设搜狗推广登录平台官网
  • 建设门户网站费用深圳纯手工seo
  • 泗阳做网站的如何建立自已的网站
  • 同一素材 不同的布局网站设计导出wordpress用户
  • 百度地图api wordpress搜索引擎优化的基本手段
  • 免费企业网站建站做网站分辨率一般多少
  • 深圳招聘网站推荐室内设计平面图包括
  • 如何做电影网站挣钱室内装修设计下载什么软件
  • 石家庄网站设计建设百度广告怎么推广
  • 上海建筑建材业门户网站网页版微信怎么扫描二维码
  • 网站被镜像怎么做微信公众号免费开通