new/delete详解(跑路人笔记)<C++初阶>

本文详细介绍了C++中的new和delete操作符,包括它们如何为自定义类型调用构造和析构函数,new失败时的处理,以及与malloc/free的区别。还提及了operator new和operator delete的作用,并探讨了new[]和delete[]的实现原理。
摘要由CSDN通过智能技术生成

前言

new和delete是C++为了类的使用方便而创造的操作符,我们在使用C++时应该尽量避免使用malloc和free而应该转向使用new和delete.

new/delete

内置类型举例

new/delete类似于malloc/free但是为了搭配我们的C++的新知识也就是类的出现我们在从堆区开辟空间的时候需要调用我们类里的构造函数,而和明显malloc他们并不可能会实现这类又为了兼容C语言C++就增加了new来方便我们自定义类型的从堆开辟空间.

老样子,我们要是讲新知识的时候还是先看看这玩意咋用的

int main()
{
   
	//动态申请一个int类型空间
	int* ptr1 = new int;
	//动态申请一个int空间并且初始化为10
	int* ptr2 = new int(10);
	//动态申请10个int空间
	int* ptr3 = new int[10];
	//动态申请10个int空间并且初始化.
	int* ptr4 = new int[10]{
    1,2,3,4,5,6,7,8 };
	char* ptr5 = new char[10]{
    "123" };
	delete ptr1;
	delete ptr2;
	delete[] ptr3;
	delete[] ptr4;
	delete[] ptr5;
	

	return 0;
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

就一个挺垃圾的跑路人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值