码迷,mamicode.com
首页 > 编程语言 > 详细

C++基础 new和delete

时间:2018-10-20 16:22:30      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:c++   类对象   int   析构   pre   基本   span   对象   col   

1.new delete 的使用

(1)基本数据类型

int *p = new int(10);
delete p;
int *p = (int *)malloc(sizeof(int)); *p = 10;
free(p);

(2)数组

int *p = new int[10];
delete []p;

int *p = (int *)malloc(10 * sizeof(int));
free(p);

(3)类对象

Test *p = new Test;
delete p;

2.new delete 和 free malloc 的对比

(1)new、delete 是C++操作符,free、malloc是C函数

(2)new除了会分配空间还会自动调用构造函数,delete会调用析构函数。

3.new 和 malloc 交叉使用

Test *p = new Test;
free(p);

Test *p = (Test *)malloc(sizeof(Test));
delete p;

不会报错,唯一区别就是 free不会调用析构函数,malloc不会调用构造函数。

 

C++基础 new和delete

标签:c++   类对象   int   析构   pre   基本   span   对象   col   

原文地址:https://www.cnblogs.com/yangxinrui/p/9821748.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!