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

网站建设售后服务合同/国内最新的新闻

网站建设售后服务合同,国内最新的新闻,武汉做公司网站,广西玉林建设厅官方网站智能指针 0. 普通指针存在的问题 0.1 悬垂指针 当有多个指针指向同一个基础对象时,如果某个指针delete了该基础对象,对这个指针来说它是明确了它所指的对象被释放掉了,所以她不会再对所指对象进行操作,但是对于剩下的其他指针来…

智能指针

0. 普通指针存在的问题

0.1 悬垂指针

当有多个指针指向同一个基础对象时,如果某个指针delete了该基础对象,对这个指针来说它是明确了它所指的对象被释放掉了,所以她不会再对所指对象进行操作,但是对于剩下的其他指针来说并不清楚所指对象已被删除。

1. 为什么会有智能指针

C++程序员需要自己善后自己动态开辟的内存,一旦忘记释放,内存就泄露。
智能指针可以帮助程序员自动释放自己开辟的内存
智能指针将基本类型指针封装为类对象指针,并在析构函数里编写delete语句删除指针指向的内存空间。

2. 智能指针是一个模板类

3. 智能指针分类

  1. shared_ptr:shared_ptr可以使得一个对象可以有多个智能指针,当这个对象所有的智能指针被销毁时就会自动进行回收
  2. unique_ptr:unique_ptr不能赋值也不能拷贝,保证一个对象同一时间只有一个智能指针
  3. weak_ptr:weak_ptr是为了协助shared_ptr而出现的,它不能访问对象,只能观测shared_ptr的引用计数,防止出现死锁。

4. 智能指针注意事项

  1. 不能使用相同的内置指针值初始化多个智能指针
  2. 不delete get()返回的指针
  3. 不使用get()初始化或者reset另一个智能指针
  4. 如果使用get()返回的指针,记住当最后一个对应的智能指针销毁后,你的指针就变成无效了。
  5. 如果使用智能指针管理的资源不是new分配的内存,需要传递一个删除器
  6. shared_ptr放入容器中时,之后不再需要全部元素,只使用其中一部分的话,要用erase删除那些不再需要使用的shard_ptr,如果不erase那些不再需要使用的shared_ptr,shared_ptr就不会释放它指向的内存。

5. 如何选择智能指针

  • 如果程序要使用多个指向同一个对象的指针,应该使用shared_ptr
  • 如果程序不需要多个指向同一对象的指针,则可以使用unique_ptr

6. unique_ptr为何优于auto_ptr

更安全,unique_ptr声明的指针如果出现悬挂指针访问的现象,编译器会进行报错,避免悬挂指针不再指向有效数据的问题

auto_ptr<string> p1(new string("hello world"));		// #1
auto_ptr<string> p2;												// #2
p2 = p1;																	// #3 p1的所有权被剥夺,p1不在指向有效数据,
unique_ptr<string> p3(new string("hello world"));		// #4
unique_ptr<string> p4;												// #5
p4 = p3;																		// #6    编译器会认为此语句非法
http://www.lbrq.cn/news/1080937.html

相关文章:

  • 56m做图片视频的网站是什么/热点新闻事件素材
  • 东莞长安/武汉网站seo
  • 网站建设新报价图片欣赏/品牌定位
  • 网站全屏轮播怎么做/网络营销策划书论文
  • 网站兼容怎么调/千网推软文推广平台
  • 企业腾讯邮箱/什么是seo如何进行seo
  • 16岁做分期网站/网络营销课程有哪些
  • 淘宝导购网站备案/注册域名费用一般多少钱
  • 只做女性的网站/长沙seo外包优化
  • 海口网站制作企业/拉新推广渠道
  • 电脑系统做的好的几个网站/天津债务优化公司
  • 企业网站建设如何去规划/seo 页面
  • 上海莱布拉网站建设/百度游戏app下载
  • 网站显示速度的代码/seo网站平台
  • 做的好的网站开发/北京建公司网站价格
  • 哈尔滨线下教学最新情况/通州优化公司
  • 深圳做门户网站/网络营销推广
  • 专业旅游网站开发系统/电商推广和网络推广的区别
  • 新手建什么网站赚钱吗/百度seo在线优化
  • 重庆建网站哪家售后服务比较好/网站seo的内容是什么
  • 网站建设公司业务培训/巢湖网站制作
  • 汕头h5建站模板/小程序商城制作一个需要多少钱
  • 做图赚钱的网站有哪些/百度指数查询移民
  • 深圳网站建设专家/谷歌官网登录入口
  • 上海市网站建设电话号码/网站建设策划方案
  • 做网站 php和java/360优化大师官方版
  • 网站开发中的paml/网页seo是什么意思
  • wordpress固定链接设置文章连续性/山东seo网络推广
  • 做网上商城网站哪家好/推广计划怎么做
  • jsp网站地图生成器/江阴网站制作公司
  • 雷达微多普勒特征代表运动中“事物”的运动部件。
  • 【东枫科技】DreamHAT+
  • 【车联网kafka】Kafka核心架构与实战经验(第二篇)
  • .NET 10 中的新增功能系列文章3—— .NET MAUI 中的新增功能
  • ECMAScript2024(ES15)新特性
  • n8n为什么建议在数组的每个item中添加json键?