c++学习总结【1】指针,const,引用
1.const 的使用
const与指针的结合
const int a=10
int *p=&a是错误的,因为只有指向常性的指针才能储存常变量的地址。即 const int * p=&a
而对于 int *p=(int *)&a 这样的强转类型,虽然编译可以通过,但是存在不安全的问题。会引起通过解引用对常变量进行值改变的问题。
const 与 int的不同位置关系等价,即是const int 和int const等价。
2.引用
&和类型结合的时候是引用符号。相当于起了个别名,对于引用来说必须初始化,另外也没有二级引用,即二级引用。
常变量的引用必须是常引用,普通数据类型也可以用const修饰的引用。
除了引用基本数据类型,还可以引用数组,指针
引用指针 int *p=&a int *&rp=p
引用数组 int &x=ar[0] int (&br)[5]=ar
3.数组与指针的区别
指针变量分配内存,引用则不分配内存,解引用时引用直接使用,指针要加*。
指针有空,引用没有。
对指针操作是反应下一个变量的地址,而对于引用来说是直接反应到所引用的实体。
指针级数没有限制,引用只有一级。