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

网站导航是什么意思wordpress 图片展示页面

网站导航是什么意思,wordpress 图片展示页面,wordpress首页加外链,图标设计免费logo在线生成使用new时调用构造函数使用delete时调用析构函数 构造函数 使用new动态分配内存时,如果分配的是基本类型的内存,则不会调用构造函数。如果分配的是自定义类型的内存,则会调用构造函数进行对象的初始化。 例如: int* pInt new…
  • 使用new时调用构造函数
  • 使用delete时调用析构函数
  1. 构造函数

使用new动态分配内存时,如果分配的是基本类型的内存,则不会调用构造函数。如果分配的是自定义类型的内存,则会调用构造函数进行对象的初始化。

例如:

int* pInt = new int; // 不会调用构造函数
class MyClass {
public:MyClass() {cout << "MyClass constructor is called" << endl;}
};
MyClass* pObj = new MyClass(); // 调用构造函数
  1. 析构函数

使用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是C++11引入的关键字。它用于表示空指针常量,可以用于初始化指针或与指针进行比较。

在C++之前的版本中,通常使用NULL或0来表示空指针。然而,这样的表示方式可能会引起一些歧义和问题。为了解决这些问题,并提供更明确和类型安全的空指针表示,C++11引入了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

需要注意以下几点:

  1. 使用delete[]来释放通过new[]申请的数组内存。
  2. 在释放数组内存之后,将指针置为nullptr是个好习惯,可以避免悬垂指针问题。
  3. 如果使用new[]分配数组时发生了错误,没有成功创建数组对象,那么在释放数组内存时也不要使用delete[],因为没有成功创建的数组对象不需要释放。

总结起来,使用delete[]来释放通过new[]申请的数组内存,并将指针置为nullptr

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

相关文章:

  • 东莞做企业营销型网站的公司工信部官网备案查询系统
  • 迁安做网站哪家好wordpress副标题
  • 电商网站建设需要哪些技术企业网站怎么扣费的
  • 公司做网站的费用怎么入账泰州网站建设价位
  • 大型综合新闻门户网站织梦模板wordpress 广播条
  • 装修网站怎么做的防红短链接生成
  • 海口网站建设的开发方案网站app建设方案
  • 才艺多网站建设公司网站建设工作总结培训
  • 做房产网站多少钱苍南网站建设
  • 广州可以做票务商城的网站公司wordpress开发团队
  • 网站是公司域名是个人可以吗网站和服务器是什么关系
  • 门户网站的建设费用怎么通过ip查看自己做的网站
  • 上海工程建设信息网站建设方案包括哪些内容
  • 找考卷做要去哪个网站网站建设推荐郑国华
  • 秦皇岛市建设局网站学ui去哪个机构比较好
  • 做网站的软件名字全拼网站切换
  • 广州站改造最新消息工业和信息化部直属大学
  • 网站换域名有没有影响吗网站开发人员需要去做原型吗
  • 腾讯云中使用wordpress合肥seo收费
  • 公司网站 数据库网站策划编辑的职责
  • 杭州做网站企业中石化工建设宁波分公司网站
  • 网站建设全攻略互联网设计院
  • 网站项目案例做淘宝货源网站
  • 南京 推广 网站建设农业建设管理信息网站
  • 工信网站投诉系统2023网页设计十大品牌
  • 在线A视频网站 一级A做爰片如何在抖音上投放广告
  • 做淘宝门头的网站企业门户网站建设方案书
  • 龙之向导外贸网站河源建网站
  • html5响应式网站建设平台龙岗做网站多少钱
  • 网站动图是怎么做的上海icp新增网站