演算子の引数の初期化子リスト
演算子の右側 (RHS) での初期化子リストの使用。これは、 C 11 では、この制限の背後にある理由について疑問が生じます。
C 標準では、 「 」、「*」、または「<<」などの二項演算子の右側で初期化子リストを直接使用します。これは、標準の §5 に従って初期化子リストが式とみなされず、関数や二項演算子の引数での使用が禁止されているという事実に由来します。
初期化子リストの使用を容易にするために、標準では例外が導入されています。ただし、二項演算子にはそのような例外はなく、初期化子リストは両側で制限されたままになります。
この制限の背後にある決定については、Stroustrup と Dos Reis (2007) による N2215 で説明されています。イニシャライザ リストを左側のオペランドとして許可すると、イニシャライザ リストとブロックの両方に中かっこが使用されるため、解析の競合が発生します。
さらに、イニシャライザ リストは両側ではなく右側でのみ許可されると見なされます。過度な矛盾を生じさせること。したがって、初期化子リストは、関数の引数、添え字、代入などの特定のコンテキストでは許可されますが、二項演算子の引数の一般的な場合には許可されません。
以上がC の二項演算子の引数でイニシャライザ リストが制限されているのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。