为什么我可以在初始化后重新绑定引用?

Joh*_*ohn 2 c++ visual-c++ c++11

根据C++ Primer,Stanley B. Lippman,JoséeLajoie和Barbara E. Moo:

初始化后,引用仍然绑定到其初始对象.无法重新绑定引用以引用其他对象.

那么,我似乎能够将我初始化的引用重新绑定到以下代码中的另一个对象?

#include <iostream>

int main()
{
     int num1 = 10;
     int num2 = 20;

     int &rnum1 = num1;

     std::cout << rnum1 << std::endl;   // output: 10

     rnum1 = num2;

     std::cout << rnum1 << std::endl;   // output: 20

     return 0;
}
Run Code Online (Sandbox Code Playgroud)

根据我的理解,num1和num2是两个不同的对象.相同的类型,是的,但两个完全不同的对象.

Bat*_*eba 5

rnum1 = num2;重新引用引用.

它简单地设置rnum1(因此num1)到num2.