2011-12-07 8 views
2

新しい標準で次のことについて変更されたことを説明できる例はありますか?これは厳密なエイリアシング規則を参照していますか?割り当て操作の標準の変更

5.17/8。あるオブジェクトに格納されている値が、最初の オブジェクトの格納に重複する別のオブジェクトからアクセスされる場合、オーバーラップは正確であり、2つのオブジェクトは同じタイプの を持ちます。新しい規格で

、それは、次のノートに変更した:

[注:この制限は、左 関係と割り当て動作の右側に適用されます。代入のターゲットに一般的にエイリアスを付ける方法については、 のステートメントではありません。 3.10。 を参照してください。 - エンドノート]

答えて

2

これは、変更を説明します:http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#556

エイリアシングが許可されたときには2つの異なる仕様があるように思われます。

[...]この問題は、代わりにエイリアシングについての一般的な声明であることの5.17 [expr.ass]段落8の文言の意図を誤解に基づいている

、それは状況を説明しています割り当てられる値のソースは、ターゲットオブジェクトのストレージと重なるストレージです。提案された解決策は、仕様を変更するのではなく、それを明確にするべきです。

関連する問題