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

海珠网站建设制作小程序定制开发外包风险

海珠网站建设制作,小程序定制开发外包风险,厦门网站建设找哪家,高端网站制使用new时调用构造函数使用delete时调用析构函数 构造函数 使用new动态分配内存时#xff0c;如果分配的是基本类型的内存#xff0c;则不会调用构造函数。如果分配的是自定义类型的内存#xff0c;则会调用构造函数进行对象的初始化。 例如#xff1a; int* pInt new…使用new时调用构造函数使用delete时调用析构函数 构造函数 使用new动态分配内存时如果分配的是基本类型的内存则不会调用构造函数。如果分配的是自定义类型的内存则会调用构造函数进行对象的初始化。 例如 int* pInt new int; // 不会调用构造函数 class MyClass { public:MyClass() {cout MyClass constructor is called endl;} }; MyClass* pObj new MyClass(); // 调用构造函数析构函数 使用delete释放内存时如果内存中存储的是基本类型或者使用new分配内存时发生了错误导致没有成功创建对象则不会调用析构函数否则会调用析构函数进行资源的释放。 例如 int* pInt new int; // 使用pInt delete pInt; // 不会调用析构函数class MyClass { public:MyClass() {cout MyClass constructor is called endl;}~MyClass() {cout MyClass destructor is called endl;} }; MyClass* pObj new MyClass(); // 使用pObj delete pObj; // 调用析构函数 pObj NULL;需要注意的是使用new分配的内存必须在不再使用时通过delete操作符进行释放否则会造成内存泄漏。 同时为了避免悬垂指针的问题在删除指针之前必须将指针置为nullptr。 在C中delete只是释放了指针指向的内存空间但是并没有将指针本身变成nullptr空指针。 这也就意味着如果在delete后不将指针制空那么这个指针仍然指向之前释放的那块内存空间访问它将会产生未定义行为UB。 因此在使用delete释放动态分配的内存后最好将指针置为nullptr这样能够避免悬垂指针的问题。 例如 int *pInt new int; //使用pInt delete pInt; pInt nullptr; // 将指针置为nullptr需要注意的是将指针置为nullptr只是一种好习惯而非强制要求。如果你后续没有再次使用该指针或者保证没有悬垂指针的风险那么也可以不进行指针置空操作。 nullptr是C11引入的关键字。它用于表示空指针常量可以用于初始化指针或与指针进行比较。 在C之前的版本中通常使用NULL或0来表示空指针。然而这样的表示方式可能会引起一些歧义和问题。为了解决这些问题并提供更明确和类型安全的空指针表示C11引入了nullptr。 使用nullptr可以明确地表示空指针避免在某些上下文中与整数0混淆。另外nullptr还可以作为实现函数重载时的重要工具与其他类型的指针进行区分。 示例用法 int* pInt nullptr; // 初始化指针为空 if (pInt nullptr) {// 执行某些操作 }void foo(int* ptr) {// 实现重载函数 } void foo(int i) {// 实现重载函数 }foo(nullptr); // 调用第一个foo函数传递空指针常量nullptr是C中的关键字用于明确表示空指针常量提高代码的可读性和类型安全性。 要释放通过new申请的数组需要使用delete[]操作符而不是简单的delete。 示例代码如下 int* pArray new int[10]; // 通过new申请一个int类型的数组// 使用pArraydelete[] pArray; // 释放通过new申请的数组内存 pArray nullptr; // 将指针置为nullptr需要注意以下几点 使用delete[]来释放通过new[]申请的数组内存。在释放数组内存之后将指针置为nullptr是个好习惯可以避免悬垂指针问题。如果使用new[]分配数组时发生了错误没有成功创建数组对象那么在释放数组内存时也不要使用delete[]因为没有成功创建的数组对象不需要释放。 总结起来使用delete[]来释放通过new[]申请的数组内存并将指针置为nullptr
http://www.zqtcl.cn/news/738380/

相关文章:

  • 网站系统与网站源码的关系emlog轻松转wordpress
  • 网站的简介怎么在后台炒做吉林省住房城乡建设厅网站首页
  • 泉州易尔通网站建设国际酒店网站建设不好
  • 网页下载网站福田企业网站推广公司
  • 北京网站建设开发公司哪家好网站添加在线留言
  • 新建的网站怎么做seo优化平面广告创意设计
  • yy陪玩网站怎么做软件项目管理计划
  • 西安建网站价格低百度推广区域代理
  • 中英网站模板 照明公司注册在自贸区的利弊
  • 全球十大网站排名wordpress标题连接符
  • 网站开发可能遇到的问题四川建筑人才招聘网
  • 镇江网站托管怎么做淘宝网站赚钱吗
  • 交互式网站是什么知名vi设计企业
  • 上海个人做网站网站建设销售好做嘛
  • 邵阳建设网站哪家好手机网站栏目结构图
  • 做动车哪个网站查网站环境配置
  • 那些网站可以做h5国内新闻最新消息今天简短
  • asp网站开发实例河南省建设招投标网站
  • 营销型网站搭建公司有没有专做推广小说的网站
  • 汕头网站搭建wordpress文章列表摘要
  • 网站开发体会800字网站开发新功能
  • 网站域名查询ip杭州pc网站开发公司有哪些
  • 青岛公司网站设计网站后台编辑器内容不显示
  • vc6.0做网站wordpress调用会员等级
  • 哪个网站有做商标网站的类型是什么意思
  • 网站 主机网站内容段落之间有空格对seo有影响吗
  • 网站的宣传推广学网站开发哪个好
  • 免费背景图片素材网站北京企业建站程序
  • 营销网站建设方案wordpress门户
  • 世界网站排名查询效果好企业营销型网站建设公司