new和delete

new 和 delete 是 C++ 中用于动态分配和释放内存的操作符。它们通常与指针一起使用。

new:new 用于在堆上动态分配内存,并返回指向所分配内存的指针。语法如下:
int* p = new int;

在这个例子中,new int 创建了一个整型变量大小的内存空间,并返回一个指向该内存空间的指针。然后,这个指针被赋值给指针变量 p。
delete:delete 用于释放 new 分配的内存空间,避免内存泄漏。语法如下:

delete p;

在这个例子中,delete p 释放了之前 new 分配的内存空间。注意,使用 delete 后,指针 p 仍然指向之前分配的内存空间,但这块内存已经被释放,访问这块内存可能会导致未定义的行为。

需要注意的是,在使用 new 和 delete 时要遵循以下几点:

使用 new 分配内存后,要使用 delete 来释放该内存,以避免内存泄漏。
不要对未分配内存或已释放内存的指针使用 delete。
不要对使用 new 分配的数组使用 delete,应该使用 delete[]。

例如,如果分配了一个整型数组:

int* arr = new int[5];
// do something with arr
delete[] arr;

这里使用 delete[] 来释放整型数组所占用的内存空间。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值