1. 指针运算符指针运算符、、地址运算符与下标运算符 与指针相关的三个运算符:&、*、[ ] 均以内存地址作为操作数。 (1)&:取地址运算符,在前面已经讨论过,在此不再赘述。 (2)*:指针运算符或称间接访问(引用)运算符。取指针所指向的目标的值。* 右边的操作数必须是指针,且它已与确定目标建立了联系。 (3)[ ]:下标运算符。取指针所指向的目标的值。[ ] 左边的操作数必须是指针,且它已与确定目标建立了联系。下标运算符一般在数组中用的比较多。
2. new和不new的区别
1、使用new是创建指针,手工在堆上申请空间,使用完毕后需要手工释放。
不用new是创建对象,自动在栈上申请空间,对象声明周期结束后系统会自动释放空间。
2、使用new如果不手动释放空间,会造成内存泄露;不用new由于是系统自动管理,不会造成内存泄露。
3、使用new创建的是指针,可以赋值给全局的变量,可以将局部变量变成全局变量,还能把对象作为函数返回值。不用new创建的对象生命期只有在本区域的大括号内,出了大括号就没用了。