作用域运算符 ::
运算对象:
左边操作数是一个命名空间 ,右操作数是命名空间中的标识符
应用
全局作用域
::name
类作用域
类名::name
命名空间作用域
作用域名::name
三目运算符
C语言返回变量的值C++语言是返回变量本身
C三目运算符
返回的是变量值,不能作为左值使用
C++三目运算符
直接返回变量本身,因此可以出现在程序的任何地方
可以作左值
注意
三目运算符可能返回的值中如果有一个是常量值,则不能作为左值使用(a<b?1:b)=30;
new
从堆中申请内存空间
new运算符动态分配堆内存
使用形式
指针变量=new类型(常量)
指针变量=new类型[表达式]
作用
从堆分配一块"类型"大小的存储空间,返回首地址
"常量"是初始化值,可缺省
创建数组对象时,不能为对象指定初始值
用new分配数组空间时不能指定初值。如果由于内存不足等原因而无法正常分配空间,则new会返回一个空指针NULL,用户可以根据该指针的值判断分配空间是否成功。
malloc不会调用类的构造函数,而new会调用类的构造函数
free不会调用类的析构函数,而delete会调用类的析构函数
delete
delete运算符释放已分配的内存空间
使用形式
delete 指针变量;
delete[] 指针变量;
"指针变量"必须是一个new返回的指针