bar();}どちらを最初に評価すべきかわかりません。VCでbar関数が最初に実行されるようにしました。++(FreeBSD)によるコンパイラでは、最初に評価されたfoo関数が出力されます。上記の問題から非常に興味深い質問が得られます。そのような場合は問題ありません。[0]が評価されており、foobar()関数が配列の内部ポインターを変更する可能性があるためです。[0]を無効化できます。1その場合、評価の順序は指定されません。++の概念は、シーケンスポイントと呼ばれます。基本的に、シーケンスポイントでは、そのポイントの前にあるすべての式(観察可能な副作用がある)が評価され、そのポイントを超える式がまだ評価されていないことが保証されます。一部の人は驚くかもしれませんが、代入演算子はシーケンスポイントではありません。すべてのシーケンスポイントの完全なリストは、Wikipediaの記事にあります。3式の評価の順序は、未指定の動作です。評価する順序は、コンパイラによって異なります。shuchコードを書くことは控えるべきです。副作用がなければ順序は関係ありません。順序が重要な場合、コードは間違っている/ポータブルではない/異なるコンパイラー間で異なる結果が得られる可能性があります。私の機能が長すぎます。CRTPの代入演算子をコピーします。タグを使用したクリック可能な:使用するJSはありません。