c++学习笔记 动态内存分配 对象、对象数组的动态创建和释放
来源:互联网 发布:小鸟云服务器知乎 编辑:程序博客网 时间:2024/05/16 19:39
声明:注明代码 出处http://www.weixueyuan.net/view/6347.html
当我们需要为类对象动态分配存储空间时,我们应该使用C++语言提供的new与new[]操作符,而不要使用C语言提供的malloc函数。
C++语言提供的new和new[]操作符则不会如此,使用它们为对象分配存储空间的同时,它们也会调用相应的构造函数。
操作符delete和delete[]在释放对象存储空间的同时也会调用析构函数,而free函数则不会调用析构函数
- #include<iostream>
- usingnamespace std;
- classtest
- {
- public:
- test(int i = 1){num= i;cout<<num<<" Constructor"<<endl;}
- ~test(){cout<<num<<" Destructor"<<endl;}
- private:
- int num;
- };
- intmain()
- {
- test * t0 = new test(0);
- test * t1 = new test[5];
- test * t2 = (test *)malloc(sizeof(test));
- delete t0;
- delete[] t1;
- free(t2);
- return0;
- }
0 Constructor
1 Constructor
1 Constructor
1 Constructor
1 Constructor
1 Constructor
0 Destructor
1 Destructor
1 Destructor
1 Destructor
1 Destructor
1 Destructor
0 0
- c++学习笔记 动态内存分配 对象、对象数组的动态创建和释放
- C/C++动态二维数组的内存分配和释放 .
- C/C++动态二维数组的内存分配和释放
- C和C++动态内存的申请与释放思考(动态多维数组空间分配)
- C++:动态内存分配和释放、类型转换、面向对象编程、构造函数
- c++---对象的动态建立和释放
- 二维数组的动态内存分配和释放
- C++动态二维数组内存的分配和释放 opencv
- C和C++动态内存分配和释放的区别
- C和C++动态内存分配和释放的区别
- C和C++动态内存分配和释放的区别
- C和C++动态内存分配和释放的区别
- C和C++动态内存分配和释放的区别
- C和C++动态内存分配和释放的区别
- 对象的动态内存分配
- 关于动态内存的分配和释放
- 动态内存的分配和释放
- 动态二维数组的分配和释放
- 并查集及优化(C++)
- Problem F: 时间类的加、减法赋值运算
- LUbuntu16.10安装kears(Ubuntu类似)
- CppPrimer笔记 Chapter10 泛型算法
- 进程、线程及调优策略
- c++学习笔记 动态内存分配 对象、对象数组的动态创建和释放
- Mac上配置maven+eclipse+spark开发环境
- CppPrimer笔记 Chapter11 关联容器
- C/C++音视频库ffmpeg的数据包AVPacket分析
- Java内存模型与多线程
- 设计模式:原型模式|菜鸟教程
- 手机解锁问题
- .NET与C#(附VS2015安装过程)
- 欢迎使用CSDN-markdown编辑器