今天下午抽空看了C++关于指针和引用的描述,现在也谈点自己的感受。
指针和引用的区别主要有:
- 指针可以在定义时不初始化;而引用必须定义时初始化
- 指针不关指向一个地址值,还指向一个实体;而引用指向一个实体
关于指针的限定:
- const int a=78;
- int b=10;
- int c=18;
- const int * ip= &a; //常量指针
- int * const cp=&b; //指针常量
- int const *dp=&b;
- const int *const icp=&c; //常量指针常量
- *ip=87; //错:常量指针不能修改指向的常量,*ip只能做右值
- ip=&c; //ok:常量指针可以修改指针值
- *cp=81; //ok:指针常量可以修改指向的实体
- cp=&b; //错:指针常量不能修改指针值,即便用同一地址
- *icp=33; //错:常量指针不能修改指向指向的向量
- icp=&b; //错:常量指针常量不能修改指针值
- int d=*icp; //ok