最后一条中,i*3肯定是会有一个结果,但是这个结果没有一个有名字的变量存放这个结果,i*3的结果是运行之后,存放在一个临时的匿名变量中,因为没有名字,所以不能将i*3的结果作为引用传递给func函数。
因为引用不是对象,所以不能取地址,所以定义一个指向引用的指针是非法的,所以有上面第二条。
但是指针是对象,所以可以定义 int*& p;
因为引用不是对象,所以自然,也就没有引用数组。
最后一条中,i*3肯定是会有一个结果,但是这个结果没有一个有名字的变量存放这个结果,i*3的结果是运行之后,存放在一个临时的匿名变量中,因为没有名字,所以不能将i*3的结果作为引用传递给func函数。
因为引用不是对象,所以不能取地址,所以定义一个指向引用的指针是非法的,所以有上面第二条。
但是指针是对象,所以可以定义 int*& p;
因为引用不是对象,所以自然,也就没有引用数组。