malloc_free_new_delete

本文详细对比了C语言中的malloc/free与C++中的new/delete操作符的区别。malloc/free仅负责内存分配与释放,不涉及构造与析构;而new/delete除了分配内存外还会调用相应的构造与析构函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

malloc, free    是c的库函数,只会分配内存大小,不会调用构造函数,析构函数

new, delete    C++关键字,操作符,不仅可以分配内存大小,还可以调用构造函数,析构函数

在执行基本类型,数组(其中存储的是基本类型)操作时,可以混用!

int *p = new int;

p = 1;

delete p;

或者

int *p = new int (1);  //不仅分配内存大小,还可以调用类的初始化函数进行初始化

数组:

int *p = new int[10];

p[0] = 1;

delete [] p;

当操作 类 时,有所不同:

malloc, free    是c的库函数,只会分配内存大小,不会调用构造函数,析构函数

new, delete    C++关键字,操作符,不仅可以分配内存大小,还可以调用构造函数,析构函数

转载于:https://www.cnblogs.com/Lunais/p/5668494.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值