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

如何在网站后台删除栏目企业网站建设中在方案设计上

如何在网站后台删除栏目,企业网站建设中在方案设计上,杭州十大软件公司,网站ui设计素材Effective C中文版学习记录(三) 章节三:资源管理 进度:17/55 文章目录 Effective C中文版学习记录(三)条款13、以对象管理资源条款14、在资源管理类中小心copying行为条款15、在资源管理类中提供对原始资…

Effective C++中文版学习记录(三)

章节三:资源管理

进度:17/55


文章目录

  • Effective C++中文版学习记录(三)
  • 条款13、以对象管理资源
  • 条款14、在资源管理类中小心copying行为
  • 条款15、在资源管理类中提供对原始资源的访问
  • 条款16、成对使用new和delete时要采取相同形式
  • 条款17、以独立语句将newed对象置入智能指针


条款13、以对象管理资源

考虑的是如果自己写指针,有以下情况:

void f
{someClass * p = someClass();...delete p;
}

看起来很合理吧,申请资源,离开作用域时释放资源,防止内存泄漏

但是假设,这个代码需要进行迭代,多人合作,导致在"…"处出现了过早的return

那么p就不会被释放,造成内存泄漏

所以更合适的方式是都写进对象中,在离开作用域时让对象自己调用析构函数

或者使用shared_ptr和auto_ptr等等

PS.这里引入了C++中的一个概念,即RAII

条款14、在资源管理类中小心copying行为

资源管理类即条款13引入的RAII类,指的是资源在构造期间获得,在析构期间释放

这种RAII类的拷贝需要将它管理的资源一起拷贝,或者使用计数器,即shared_ptr等等

讲人话就是,不要只是复制指针,要一起复制资源,防止原本的类被释放了,拷贝的指针就会受影响

int * p1;
int * p2;
p2 = p1;
delete p1;

这种情况再使用p2就有问题了

条款15、在资源管理类中提供对原始资源的访问

简单而言就是,前文中描述RAII类能够自动管理这些资源,但是我们有时候需要直接使用这些资源,而不是通过RAII类

那么就需要RAII类来提供一个函数,能够直接返回这些资源,这个实现方法要看具体RAII类的设计方式

也就是类似于shared_ptr中的get函数,而返回资源可能需要经过一些转换,显式转换或隐式转换

尽量使用显式转换,因为比较安全

条款16、成对使用new和delete时要采取相同形式

举例

std::string * str = new std::string[100];
...
delete str;

这样是不对的,因为这样可能只是删除了string[0]这个部分,剩下的元素都没删除

正确做法应该是

delete [] str;

这样才能将完整的队列释放

条款17、以独立语句将newed对象置入智能指针

考虑这样一个情况

int num();
void test(shared_ptr<int> element, int num);
...
test(shared_ptr<int>(new int), num());

这里test接收两个元素,一个是shared_ptr指针,另一个是num()函数,而我们用一行处理可能会发生错误

如果这里num()函数调用错误,会导致shared_ptr指针里面new的元素丢失掉,无法释放,造成内存泄漏

所以应该拆开来写,即

shared_ptr<int> element(new int);
test(element, num());

也就是实现了独立语句创建智能指针,这样即便是num()函数崩了,element也还在,一样可以正常析构释放

http://www.yayakq.cn/news/647083/

相关文章:

  • vps做网站wordpress浮动社交
  • 老外的网站怎么做求购买链接
  • 商城网站做推广有什么好处企业宽带解决方案
  • 文登建设局网站网站建设需要技术
  • 如何做测评视频网站网站平台建设重点难点分析
  • 站酷网官网进入竞价托管外包服务
  • 商会网站制作国际知名设计公司收入
  • 南浔做网站安装wordpress 此网页包含重定向循环
  • 企业二级网站怎么做做零食网站怎么样
  • 参与网站建设的人员上海市建设工程咨询奖
  • 家纺代发网站建设营销页面
  • 营销型网站建设实战网络设计方案是如何体现网络设计需求的?
  • 公司网站建设技术方案湖北省建设厅监督网站
  • 做玩网站怎么上传北京商地网站建设公司
  • 网站开发流程是什么上海商城网站
  • 漂亮的网站设计注册公司的网址是什么
  • 专做外贸的网站绍兴seo排名外包
  • 福州网站排名莱芜双休女工招聘信息
  • 做公众号主页面的有哪些网站西安千秋网络科技有限公司怎么样
  • 图书馆理论与建设网站wordpress 会员可见
  • a站免费最好看的电影片推荐北京vi设计招聘
  • 网站的虚拟人怎么做的网站让图片充满屏幕怎么做
  • 网站建设系统怎么样wordpress授权怎么破解
  • 用电脑做服务器搭建php网站淮南教育网官网
  • 怎样做吧网站排名做上去网络营销产品推广方案
  • 我们提供的网站建设wordpress编辑器添加可视化按钮
  • 如何用文档创建一个网站惠州建设网站开发
  • 条幅在线设计网站网站建设都有哪些书
  • 网站怎样做谷歌推广青岛网站建设公司专业公司
  • 烟台商城网站制作免费微信网站制作平台