C++中的new和delete
来源:互联网 发布:数据安全工程师 编辑:程序博客网 时间:2024/06/06 12:57
new和delete
代码:
#include <iostream>using namespace std;void main(){ //基础数据类型分配内存 int *p = new int; *p = 1; cout<<"*p:" <<*p<<endl; delete p; //给一维数组分配内存 int *pb; pb = new int[5]; for (int i=1 ; i<5 ; i++) { *(pb+i) = i; } cout<<"*(pb+2)="<<*(pb+2)<<endl; //给二维数组分配内存 int (*pc)[3]; int j; pc = new int[2][3]; for (int i=0;i<2;i++) { for (j=0 ; j<3 ; j++) { *(pc[i]+j) = 1; } } cout<<"*(pc[1]+1)=" << *(pc[1]+1) <<endl; system("pause");}结果:
在类中的new和delete
代码:
#include <iostream>using namespace std;class Test{public: Test(int _a) { a = _a; cout<<"构造函数执行" <<endl; } ~Test() { cout<<"析构函数执行" <<endl; }protected:private: int a;};void main(){ Test *pT1 = (Test *)malloc(sizeof(Test)); delete pT1; Test *pT2 = new Test(10); free(pT2); system("pause");}
结果:
注:C++代码中也可以用C语言的malloc和free,不同的是malloc和free不调用构造函数和析构函数,new和delete调用构造函数和析构函数。
如果new和malloc给基础数据类型分配内存,则可以混搭。
阅读全文
0 0
- C++:new和delete
- new和delete【C++】
- C++ 中的 new/delete 和 new[]/delete[]
- C++中的new/delete和new[]/delete[]
- C++ 中的 new/delete 和 new[]/delete[]
- C++中的new delete和new[] delete []
- C++中的new/delete和new[]/delete[]
- C++ 中的 new/delete 和 new[]/delete[]
- C++中的new和delete
- C++中的new和delete
- C++中的new和delete
- C++中的new和delete
- C++中的new和delete
- C++中的new和delete
- Qt中的delete和new
- c++中的new和delete
- C++中的new和delete
- C++new和delete重载
- 《笨方法学python》第四天
- BuildAnimationController
- Android报错:Parent file doesn't exist:/Users/XXX/Library/Caches/AndroidStudio2.3/caches/
- MongoDB与python的交互
- 基于深度学习的目标检测技术演进(转)
- C++中的new和delete
- 【Scikit-Learn 中文文档】四十六:模型选择:选择估计量及其参数
- 学习js基础知识的疑惑及解答
- JAVA后端,拼接URL访问,特殊字符异常处理
- Unity本地持久化储存数据
- 重拾C语言
- 学习 Python 编程的 19 个资源
- 关于mysql慢查询
- linux 之 重启nginx