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

浏览:36日期:2023-05-23

问题描述

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;

才可以编译通过。

问题解答

回答1:

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

回答2:

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

相关文章: