10

やりたいこともある

bool success= true;
success &&= dosmthing1();
success &&= dosmthing2();
success &&= dosmthing3();
if (success)

例外を使用している可能性があることは無視しましょう...私の質問は、私のユースケースでは&=存在しないように動作することがC++ 標準によって保証されていることですか? &&=...

編集: smthing-s return bool を実行します

4

4 に答える 4

9

それは、あなたがどのように働くことを期待&&=しているかによって異なります。x &&= y();と同等にしたい場合はx = x && y();、いいえ。この式では、最初は false のy()場合は呼び出されませんが、そうなるからです。xx &= y();

ショートサーキットであるとは思わず、すべての式が実際に型(ポインター、整数、またはユーザー定義オブジェクトなどにbool変換できるものではない)を持っている場合は、機能します。boolとはいえ制約が多い。

于 2013-06-21T13:20:43.803 に答える