This question already has answers here:
Can we reassign the reference in C++?

(6个答案)


3年前关闭。




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



那么,在以下代码中,我似乎如何能够将初始化的引用重新绑定(bind)到另一个对象?
#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;
}

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

最佳答案

rnum1 = num2;没有重新绑定(bind)引用。

只需将rnum1(以及num1)设置为num2的值。

10-04 14:17