C++中的new/delete

目录

1.利用new创建内存

1.1 创建单个变量(对象)

1.1.1格式

1.1.2代码

1.2 创建数组

1.2.1格式

1.2.2代码

2.利用delete释放内存

2.1格式

2.2 代码


1.利用new创建内存

new是在堆区申请一块连续的内存空间,如果申请成功,则返回内存指针,如果申请失败,则返NULL。
new申请内存空间的过程,通常称为new一个对象。与 malloc()相比:

  1. new是关键字不需要引用头文件(malloc需要引用stdlib.h或者malloc.h)
  2. new创建动态对象时会自动调用对象的构造函数
  3. new能够根据初始化列表中的值进行初始化.

1.1 创建单个变量(对象)

1.1.1格式

  • 数据类型 *指针变量=new 数据类型; //默认值为随机值
  • 数据类型 *指针变量=new 数据类型(初始值);
  • 数据类型 *指针变量=new 数据类型{初始值};

1.1.2代码

int main()
{
	int a;
	int* p1 = new int;//动态创建一个int,没有初始化,随机值(0xcdcdcdcd)
	int* p2 = &a;//随机值,0xcccccccc
	cout << *p1 << endl;
	cout << *p2 << endl;
	int* p2 = new int(10);//动态创建一个int,并初始化为10
	cout << *p2 << endl;
	int* p3 = new int();//初始化为0
	cout << *p3 << endl;

	int* p4 = new int{ 200 };//动态创建一个整型,初始化为200,C++11新增加的
	cout << *p4 << endl;

	return 0;
}
int main()
{
	//动态创建一个double
	double* p1 = new double;
	//动态创建一个strin
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值