加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 引用能够引用不同的对象(不在迭代/循环体中)

发布时间:2020-12-16 10:08:44 所属栏目:百科 来源:网络整理
导读:有关于此的问题但似乎与迭代场景有关.我在这里有不同的情况.参考定义和“重新分配”发生在同一范围内. #include iostreamusing namespace std;int main(void) { int obja = 10,objb = 20; int r = obja; cout r endl; // prints the 10 r = objb; // ???? re
有关于此的问题但似乎与迭代场景有关.我在这里有不同的情况.参考定义和“重新分配”发生在同一范围内.

#include <iostream>
using namespace std;

int main(void) {
    int obja = 10,objb = 20;
    int &r = obja;
    cout << r << endl; // prints the 10
    r = objb; // ???? re-assigning worked? 
    cout << r << endl; // prints the 20
    return 0;
}

题:

我错误地理解了什么?

解决方法

您通过r将新值重新分配给obja.
新值恰好是objb的值.
这并没有将引用r重新关联到objb,我想你可能会对似乎重新关联对新变量的引用的证明感到困惑.这不会发生.
您可以演示如果最后添加会发生什么,例如

cout << obja << " " << objb << endl;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读