Const引用 - C++

gle*_*len 3 c++ const reference

我对C++中const引用的概念有疑问.

int i =10;   
const int &j = i;  
cout<<"i="<<i<<" j:"<<j; // prints i:10 j:10

i = 20;
cout<<"i="<<i<<" j:"<<j;  // prints i:20 j:10 
Run Code Online (Sandbox Code Playgroud)

为什么第二个j语句不打印新值,即20.

如果对任何变量的引用表示它们之间的强键合,那怎么可能.

Pup*_*ppy 6

这是编译器错误.代码应该打印出来20 20.

  • 我不会称这是一个编译器错误,因为它是如此基本的完全失败.还因为它与规格完全矛盾. (4认同)
  • 将这称为错误还为时过早.目前还没有一段代码能够重现这种影响.上述内容更可能是用户错误,并且他们已经删除了允许我们诊断其错误的相关上下文. (3认同)