C++引用和指针

1、有时候要想搞清楚一条赋值语句到底是改变了指针的值还是改变了指针所指对象的值不太容易,最好的办法就是记住赋值永远改变的等号左边的对象,例如:*p=0,改变的是p所指对象的值。

2、除了const和类型转换的情形,其他所有引用都必须与所绑定类型严格匹配,引用只能与变量绑定,不能与字面值常量或某个表达式的计算结构进行绑定。

3、指针和引用都能提供对其他对象的间接访问,然而在具体实现细节上二者有很大不同,其中最重要的一点就是引用本身并非一个对象。一旦定义了引用就无法再令其绑定到另外的对象,之后每次使用引用都是访问其最初所指向的对象。

4、同一行语句声明或定义多个变量时,类型修饰符(*和&)只作用于单个变量,并不是对本次声明的所有变量都起作用。

5、int *p; int *&r = p;以上语句中的r的含义是指针p的引用,若要弄清楚变量的真实含义,只需要从右往左读取变量即可,离变量名最近的修饰符对变量的类型有最直接的影响,此例中离r最近的是&,因此r是一个引用,int *表示r是一个指向int型指针的引用。

6、引用类型的变量和const类型的变量,在声明时必须初始化。

posted @ 2022-11-28 22:43  许卡文迪  阅读(29)  评论(0编辑  收藏  举报