以下代碼來自《Imperfect C++》
輸出是0, 2222還是0, 0?
按C++標準,引用s所指向的不是l,而是一個臨時變量,所以輸出應該是0, 2222。
#include <stdio.h>
int main()
{
long l = 2222;
short const &s = l;
l = 0;
printf("%ld, %d\n", l, s);
return 0;
}
int main()
{
long l = 2222;
short const &s = l;
l = 0;
printf("%ld, %d\n", l, s);
return 0;
}
輸出是0, 2222還是0, 0?
按C++標準,引用s所指向的不是l,而是一個臨時變量,所以輸出應該是0, 2222。


