【24.1.25笔记】自学C++ Primer Day18

四、表达式

9、new和delete表达式

        在每个程序执行时,系统为它们都提供了可用的内存池,叫做空闲存储区或者堆,这块内存需要动态分配。

        new表达式【对象是没有名字的】:

int *p = new int(10); //分配一个初值为10的int变量
int *p = new int[10]; //分配一个长度为10的int数组,不能初始化里面的元素

string *psa = new string[ 10 ]; //分配了十个string类的对象!并不是10个字符

        delete表达式【删除对象不是指针】:

delete pi;
delete [] pia; //空括号是delete的特殊语法,释放new的储存区

10、逗号操作符

        逗号操作符是一系列由逗号分开的表达式,从左向右计算,最终的结果是最右表达式的值。

int main() 
{
int ival = (ia != 0) 
 ? ix=get_value(), ia[index]=ix //结果是ix
 : ia=new int[sz], ia[index ]=0; //结果是0
 // ... 
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值