c++学习笔记(四):c++中new delete关键字 VS c语言中malloc free函数
来源:互联网 发布:淘宝上的机油能买吗 编辑:程序博客网 时间:2024/05/16 11:36
1 new delete 操作符号 c++的关键字,malloc free是c语言的库函数。
2 new malloc都是在堆上分配内存 由delete free释放 。
new delete VS malloc free函数分配释放数组类型:
2 new malloc都是在堆上分配内存 由delete free释放 。
分配释放基础类型 、数组类型时两者实现基本相同,分配释放对象时两者有根本区别对象:new操作符会自动的调用这个类的构造函数 、delete操作符会自动的调用这个类的析构函数。
new delete VS malloc free函数分配释放基础类型:
void Test1(){/int *p = (int *)malloc(sizeof(int)); free(p);int *p2 = new int; //相当于上面的*p2 = 101;printf("*p2:%d \n", *p2);delete p2;//分配内存的同时,初始化int *p3 = new int(100);delete p3;}
new delete VS malloc free函数分配释放数组类型:
void Test2(){int *p = (int *)malloc(10*sizeof(int)); //int a[10];p[0] = 1;free(p);int *p2 = new int[10] ;//int a[10];p2[0] = 1;p2[1] = 2;delete [] p2;}
class Test{public:Test(int mya, int myb){a = mya;b = myb;cout<<"构造函数,我被调用了"<<endl;}~Test(){cout<<"析构函数,我被调用了"<<endl;}int getA(){return a;}protected:private:int a;int b;};int getTestObj(Test **my){Test *p = new Test(1, 2);*my = p;return 0;}void Test3(){Test t1(1, 2);//在临时区分配内存//new + 类型 返回一个 内存首地址//new操作符也会自动的调用这个类的构造函数 、//delete自动的调用这个类的析构函数 //相当于我们可以手工控制类的对象的生命周期Test *p = new Test(1, 2);cout<<p->getA()<<endl;delete p;getTestObj(&p);delete p;}
0 0
- c++学习笔记(四):c++中new delete关键字 VS c语言中malloc free函数
- C/C++中new/delete malloc/free
- C/C++ 中 new/delete 和 malloc/free 区别
- c/c++中malloc/free和new/delete的区别
- C/C++语言中malloc/free和new/delete的区别
- C语言 malloc/free和C++中new/delete的区别
- C++中new/delete和C语言中的malloc free对比
- C语言中 malloc/free
- C/C++中如何动态分配内存(new/delete malloc/free 区别联系)
- C++中malloc/free和new/delete的区别---补充(15)《Effective C++》
- C++malloc/free和new/delete
- C/C++中malloc,delete和free,malloc的区别
- C语言中内存操作函数 - malloc/calloc ,free
- C语言中malloc()和free()函数的具体作用
- C与C++中内存分配释放-malloc,free,new,delete
- C 中的malloc/free 与C++中new/delete的区别
- C语言中malloc与free
- C中malloc和free函数
- C++浅拷贝、深拷贝及引用计数浅析
- MYSQL语法速查之表更改
- 关于数组TOP K算法(快排及最小堆方式C代码)
- (138)子数组之和
- Android Color 颜色过度计算实现方法
- c++学习笔记(四):c++中new delete关键字 VS c语言中malloc free函数
- Android设置透明、半透明等效果
- ios 使用宏创建标准单利
- AlertView的基本用法
- Maven生成javadoc
- KMP算法的C语言实现
- Android 工作问题记录
- js事件(onmouseover和onmouseout)
- 关于UIView的autoresizingMask属性的研究