以下代码来自《Imperfect C++》
#include<stdio.h>

intmain()

...{
longl=2222;
shortconst&s=l;

l=0;
printf("%ld,%d ",l,s);
return0;
}
输出是0, 2222还是0, 0?
按C++标准,引用s所指向的不是l,而是一个临时变量,所以输出应该是0, 2222。
#include<stdio.h>
intmain()
...{
longl=2222;
shortconst&s=l;
l=0;
printf("%ld,%d ",l,s);
return0;
}
输出是0, 2222还是0, 0?
按C++标准,引用s所指向的不是l,而是一个临时变量,所以输出应该是0, 2222。
本文探讨了C++中引用与临时变量的行为。通过一个具体的代码示例,展示了当使用引用初始化为一个临时变量时,即使原始变量被修改,引用仍然指向初始值。这有助于理解C++中引用和临时变量的交互。
4441

被折叠的 条评论
为什么被折叠?



