初期化には左辺値から右辺値への変換が必要ですか?
初期化に左辺値から右辺値への変換が必要かどうかについて、C 11 標準は依然として曖昧です。 。ただし、特に指定がない限り、右辺値は組み込み演算子のオペランドとして期待されることが証拠によって示唆されています。このアプローチは、イニシャライザのコンテキストに拡張されました。
推測: 値に予期される Prvalues
想定される仕様では、値が必要な場合は常に prvalue が予期されます。初期化中。これは、オブジェクトの初期化時に左辺値から右辺値への変換が必要であることを意味します。
予想の結果
初期化で prvalue が予期される場合、次のことが発生します。
さらなる証拠
この推測を裏付ける追加の証拠は次のとおりです。
結論
提供された証拠に基づくと、最も可能性の高い解釈は、初期化では prvalue が期待されており、初期化されていない lvalue を初期化子として使用すると未定義の動作が発生するというものです。 。この解釈は、特に指定がない限り、組み込み演算子で右辺値を期待するというより広範なアプローチと一致しています。
以上がC の初期化には左辺値から右辺値への変換が必要ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。