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

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

概述有关于此的问题但似乎与迭代场景有关.我在这里有不同的情况.参考定义和“重新分配”发生在同一范围内. #include <iostream>using namespace std;int main(void) { int obja = 10, objb = 20; int &r = obja; cout << r << endl; // prints the 10 有关于此的问题但似乎与迭代场景有关.我在这里有不同的情况.参考定义和“重新分配”发生在同一范围内.

#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;
总结

以上是内存溢出为你收集整理的c – 引用能够引用不同的对象(不在迭代/循环体中)全部内容,希望文章能够帮你解决c – 引用能够引用不同的对象(不在迭代/循环体中)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1217944.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存