引用和指针

引用:除了两种特殊情况外,其它所有的引用的类型都要和与之绑定的对象严格匹配。而且,引用只能绑定在对象上,而不能与字面值或某个表达式的计算结果绑定在一起。


指针:

指针存放某个对象的地址,要想获取该地址,需要使用取地址符(操作符&):

eg:

int ival=42;int*p=&ival;

解引用符(操作符*):通过指针来访问该对象。

题目:编写代码分别更改指针的值以及指针所指对象的值。

解答:引用和指针

本题考察了指针改变所指对象后所发生的变化:指针的值发生变化以及所指对象发生改变,然后考察了解引用*指针所代表的的内容就是变量本身。对(*指针)赋值就是在对变量赋值,反之亦然,对指针所指对象赋值也是在改变指针所指内容。

题目:if(p)和If(*p)的代码含义

引用和指针

如何判断给定指针p是否指向合法的对象?

结合上文便可知,只需要把p作为if条件语句的条件即可,如果p的值是nullptr,则条件为假;反之,条件为真。


void* 是一种特殊的指针类型,可用于存放任何对象的地址。