1

インデックスが 1 から始まるデータを読んでいたとします。インデックスを 0 ベースにしたいとします。

ストリーム挿入演算子の後に後置インクリメント/デクリメント演算子を使用できないのはなぜですか?

int a;
std::cin >> a--;
4

2 に答える 2

4

インクリメントが厳密に式の最後にのみ適用されている場合でも、ポスト インクリメント演算子の結果は一時オブジェクトです。値を読み取るには左辺値が必要ですが、一時オブジェクトは左辺値ではありません。に未指定の値を保持して、一時的に値を読み取ることにも注意してくださいa

于 2014-11-07T19:59:34.347 に答える
1

operator>>を取るオーバーロードがありint&ます。の結果a--は右辺値であり、const 以外の参照を右辺値にバインドすることはできません。

于 2014-11-07T20:09:28.260 に答える