3 回答

TA貢獻(xiàn)1890條經(jīng)驗(yàn) 獲得超9個(gè)贊
cout << a++ << a;
std::operator<<(std::operator<<(std::cout, a++), a);
a
std::operator<<(std::cout, a++)
C+17更新
在移位運(yùn)算符表達(dá)式中 E1<<E2
和 E1>>E2
的每一個(gè)值計(jì)算和副作用 E1
的值計(jì)算和副作用之前對(duì) E2
.
b
01
.

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊
std::cout.operator<<( a++ ).operator<<( a );
a++
std::ostream::operator<<
a
std::ostream::operator<<
a++
a
a++
operator<<
a
operator<<
operator<<
除注意到的情況外,未具體說(shuō)明單個(gè)運(yùn)算符操作數(shù)的計(jì)算順序和個(gè)別表達(dá)式的子表達(dá)式,以及產(chǎn)生副作用的順序。在前一個(gè)序列點(diǎn)和下一個(gè)序列點(diǎn)之間,標(biāo)量對(duì)象最多應(yīng)該通過(guò)表達(dá)式的計(jì)算修改其存儲(chǔ)值一次。此外,只能訪問(wèn)先前的值來(lái)確定要存儲(chǔ)的值。對(duì)于一個(gè)完整表達(dá)式的子表達(dá)式的每一個(gè)允許的順序,都應(yīng)滿足本款的要求;否則,該行為是不明確的。
a++
, a
operator<<
operator<<
a
(a++
a
- 3 回答
- 0 關(guān)注
- 433 瀏覽
添加回答
舉報(bào)