C++中的new和delete

本文介绍了C++中new和delete关键字在内存管理上的优势,特别是在处理自定义类型时,它们不仅分配空间,还会自动调用构造函数和析构函数,与C语言的malloc、calloc、realloc和free有显著区别。
摘要由CSDN通过智能技术生成

1.new和delete的语法

我们知道C语言的内存管理方式是malloc、calloc、realloc和free,而我们的C++中除了可以使用这些方式之外还可以选择使用new和delete来进行内存管理。

new和delete的主要语法如下

从上面的代码我们只能知道new要比malloc好写一些,但是其它的不同我们就很难观察出来,这个时候我们用自定义类型来比较就能发现它们的本质区别了。

2.new和delete操作自定义类型

如上图所示,我们定义了一个Date类,接下来我们看看他们的区别

结合上述的图片,我直接来说明结论:

new/delete 和 malloc/free最大区别是 new/delete对于【自定义类型】除了开空间 还会调用构造函数和析构函数。

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值