首页  >  问答  >  正文

C++基础问题:指针的引用

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;

才可以编译通过。

PHPzPHPz2764 天前552

全部回复(2)我来回复

  • 大家讲道理

    大家讲道理2017-04-17 13:18:13

    ip类型是int*
    r的类型是int&
    &r = ip; //编译器会给出错误
    可能题目的想法是分辨类型,代码的正确性其次?

    回复
    0
  • PHP中文网

    PHP中文网2017-04-17 13:18:13

    &r是r的地址,没人要求把int*赋给r,是赋给&r,这样*(&r)=*ip

    回复
    0
  • 取消回复