delete语句怎么写(数据库sql语句大全实例)

发布日期:2025-02-07 14:22:58     手机:https://m.xinb2b.cn/shenghuo/news55564.html    违规举报
核心提示:C++在回收用 new 分配的单个对象的内存空间时,直接用 delete;回收用 new[] 分配的数组对象的内存空间时,需要用 delete[]。 调用 new 所包含的动作:从系统中申请一块内存,并调用对象的构造函数; 调用 de

delete语句怎么写(数据库sql语句大全实例)

C++在回收用 new 分配的单个对象的内存空间时,直接用 delete;回收用 new[] 分配的数组对象的内存空间时,需要用 delete[]。

调用 new 所包含的动作:从系统中申请一块内存,并调用对象的构造函数; 调用 delete 所包含的动作:先调用对象的析构函数,然后将内存归还系统; 调用 new[n] 所包含的动作:申请可容纳 n 个对象的空间,并调用 n 次构造函数来初始化这 n 个对象; 调用 delete[] 所包含的动作:先调用 n 次对象的析构函数,再将内存归还系统。

比如下面这段代码:

#include <iostream>using namespace std;class Student {public: Student() { cout << "1. Constructor" << endl; } ~Student() { cout << "2. Destructor" << endl; }};int main(){ Student* stu = new Student(); delete stu; stu = nullptr; cout << "---" << endl; Student* stuArr = new Student[2]; delete[] stuArr; // 不要漏了[] stuArr = nullptr; return 0;}

运行结果为:

需要注意的是:若将 delete[] stuArr 改为 delete stuArr,则会导致 stuArr 指向的2个Student对象中的剩余1个未被销毁,造成内存泄漏。

 
 
本文地址:https://xinb2b.cn/shenghuo/news55564.html,转载请注明出处。

推荐图文
推荐生活健康
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  违规举报  |  蜀ICP备18010318号-4  |  百度地图  | 
Processed in 0.126 second(s), 79 queries, Memory 0.5 M