C++ primer 第五版的练习题:
Exercise 2.25: Determine the types and values of each of the following variables.
(a) int* ip, &r = ip;
请问怎么理解 &r = ip ?
我实在理解不能。。。
r 是一个 int 的引用,如何可以用 ip (一个 int 的指针)赋值呢?
--
补充:
正如 @araraloren 在回答中指出的,
这句编译时会报错:
int* ip, &r = ip;
要改成:
int* ip, *&r = ip;
或者
int* ip, &r = *ip;
才可以编译通过。
ip类型是int*
r的类型是int&
&r = ip; //编译器会给出错误
可能题目的想法是分辨类型,代码的正确性其次?
&r是r的地址,没人要求把int*赋给r,是赋给&r,这样*(&r)=*ip