c++ - 我们说 Reference 是 const 指针。为什么我能够为 ref B 分配一个新变量?下面的程序编译成功

标签 c++ reference variable-assignment

#include<iostream.h>

int main()
{
int a=10;
int &b=a;

cout<<"B"<<'\n'<<b;
cout<<"A"<<'\n'<<a;
b=100;
cout<<"B"<<'\n'<<b;
cout<<"A"<<'\n'<<a;
int c=20;
b=c;

cout<<"C"<<'\n'<<c;
cout<<"B"<<'\n'<<b;
}

最佳答案

引用不是常量指针。需要取消引用 const 指针才能访问该值。您不需要取消引用引用。

引用是别名——同一事物的新名称。因此,您问题中的代码是有效的,并且 a 和 b 指的是同一事物。

关于c++ - 我们说 Reference 是 const 指针。为什么我能够为 ref B 分配一个新变量?下面的程序编译成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2491478/

相关文章:

c++ - C++03中的完美转发

c++ - 为什么C++没有方便的方式为多维数组动态分配内存?

c++ - 在 C++ 中将十六进制字符串转换为十进制数

C++14遇到奇怪的 "use of deleted function"错误

multithreading - 如何将对堆栈变量的引用传递给线程?

c++ - 将引用转换为 C++ 中的指针表示

javascript - 为什么在 JavaScript 中分配 Infinity 不会引发错误,但不起作用?

c - c语言声明时按索引赋值数组

c++ - 过滤器连接问题

python - 如何限制在构造函数之外设置属性?