C++ 1.5.4 动态内存分配

1.new运算符
使用形式:
指针变量 = new <数据类型T> [长度]
功能:在程序执行期间,申请用于存放T类型对象的存储空间,并依初值列表赋以初值。
结果值:
-成功:T类型的指针,指向新分配的内存。
-失败:0(NULL)

注意:
(1)如果分配的空间长度为1个单位,则可以省略new运算符格式的中括号和中括号中的整数。
(2)使用new运算符分配内存空间时,其空间长度可以是变量,也可以是数值表达式。
(3)由new分配的内存空间是连续的,可以通过指针的变化访问分配空间的每一个元素。

2.delete运算符
使用形式:
delete 指针
delete []指针
例如:

int *pInt = new int;
delete pInt;//删除单个指针
int *pManyInt = new iny[10];
delete [] pManyInt;//删除数组

注意:
(1)用new运算符获得的内存空间,只许使用一次delete,不允许多次对同一块空间进行多次释放,否则将会产生严重错误。
(2)delete只能用来释放由new运算符分配的动态内存空间,对于程序中的变量、数组的存储空间,不能用delete运算符去释放。

3.对象的动态建立和释放
-在程序中,可以使用new运算符动态地分配内存,用delete运算符撤销对象。
-这种在程序运行过程中根据需要可以随时建立或删除的对象称为自由存储对象。

注:
不能用delete运算符删除一个不是用new运算符创建的对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值