int a=1, b=a++;
未定義の動作を呼び出しますか? a
の初期化と、そのアクセスと の初期化子での変更の間に介在するシーケンス ポイントはありませんがb
、私が知る限り、初期化はオブジェクトの「変更」ではありません。オブジェクトの「初期値」を与えるために初期化子が指定されます。6.7.8 初期化、パラグラフ 8:
初期化子は、オブジェクトに格納される初期値を指定します。
そして、オブジェクトへのアクセスの前に順序付けされたものとして「初期」を取るのが妥当と思われます。この問題は以前に検討されたことがあり、受け入れられた解釈はありますか?