四、表达式
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
// ...
}