以下代碼來(lái)自《Imperfect C++》
輸出是0, 2222還是0, 0?
按C++標(biāo)準(zhǔn),引用s所指向的不是l,而是一個(gè)臨時(shí)變量,所以輸出應(yīng)該是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++標(biāo)準(zhǔn),引用s所指向的不是l,而是一個(gè)臨時(shí)變量,所以輸出應(yīng)該是0, 2222。