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

章丘做网站哪家强魔贝课凡seo课程好吗

章丘做网站哪家强,魔贝课凡seo课程好吗,惠州网站建设哪家便宜,电销做网站的话术条款16:成对使用new和delete时候采取相同形式 成对使用的new和delete需要采用相同的形式,可以先看如下代码: std::string* stringArraynew std::string[100]; ... delete stringArray; 这样会发生什么问题呢?对了,程…

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

成对使用的new和delete需要采用相同的形式,可以先看如下代码:

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

这样会发生什么问题呢?对了,程序行为定义并不明确,stringArray所含的100个string对象中的99个不太可能被适当的删除,因为他们的析构函数很可能没被调用。

当采用new时候,有两件事情发生。第一,内存被分配出来;第二,针对该内存会有一个或者更多的构造函数被调用。
同样,当使用delete的时候,也有两件事情发生。第一,针对内存会有一个或者更多的析构函数被调用;第二,内存被释放。但使用delete时候,我们需要知道即将删除的的内存中到底存有多少对象?这个问题的答案决定了有多少个析构函数必须被调用起来。
可以想想成如下存储结构,编译器并非要这样实现:
这里写图片描述
因此,我们调用delete时候需要告诉编译器有多少个对象需要析构,区分方法就是delete和delete[],我们在运用这个规则的时候需要注意隐式转换,如下代码:

typedef std::string hello[4];//hello是一个拥有4个string元素的string数组
std::string* p_Hello=new hello;
delete[] p_Hello;//正确
delete p_Hello;//行为没有意义

为了避免此类错误,最好尽量不要对数组形式做typedef动作,容易出错!
总结:
使用new表达式的时候使用[],必须在相应的delete表达式中也是用[];如果在new表达式中没有使用[](包含隐式的和显示的),一定不要在相应的delete表达式中使用[]。

http://www.lbrq.cn/news/2439757.html

相关文章:

  • 有趣的网站设计百度提交链接
  • wordpress 插入文章seo职业规划
  • 桐乡网站二次开发怎么提交百度收录
  • 想接外包做网站南京疫情最新情况
  • h5网页设计报告郴州网站seo
  • 网站建设最好的教程培训平台有哪些
  • 网站设计遇到难题刚刚传来最新消息
  • 模板网站与定制开发网站的区别网络客服
  • 青岛网站排名外包推广公司哪家好
  • wordpress导出出错曲靖seo
  • 加盟营销型网站建设网络营销岗位有哪些
  • 网页制作免费网站建网站一般多少钱
  • 全国婚孕检服务平台小程序seo关键词排名优化方案
  • 网站视频弹窗广告代码百度提升优化
  • 中国机械网官网seo的名词解释
  • dw做网站是静态还是动态红河网站建设
  • 做公司的宣传网站需要注意什么网站分析培训班
  • ps做网站尺寸网络事件营销案例
  • 小程序网站建设百度网站首页
  • 如何黑掉jsp做的网站建站合肥网络公司seo
  • 浙江网站建设哪里好口碑营销策略有哪些
  • 手机站网站建设seo代做
  • 餐饮品牌策划网站优化建议
  • 苏州哪里做网站企业新闻稿发布平台
  • 武汉做鸭兼职网站网站seo置顶
  • 咋样建设网站广告公司取名字参考大全
  • 网站设计与制作简单吗高级seo课程
  • 浙江省建设培训中心网站广州seo推广优化
  • wordpress 主题 purewindows优化大师值得买吗
  • 交通信用网站建设谷歌搜索引擎香港免费入口
  • 用 Function Call 让 AI 主动调用函数(超入门级示例)|保姆级大模型应用开发实战
  • day20 双向链表
  • 变频器实习DAY12
  • 通用表格识别技术的应用,深刻改变人们处理表格数据的方式
  • 【kubernetes】-2 K8S的资源管理
  • Golang避免主协程退出方案