- 510 名前:デフォルトの名無しさん mailto:sage [2021/04/27(火) 14:47:15.34 ID:V9b4VlmB.net]
- >>496
・定数リテラル、const属性が付くもの、は置けない。 ・関数呼び出しの 関数()は、戻り値は、伝統的に右辺値扱いになるので左辺に置くとエラー になる様になっている。 戻り値は、構造体型(クラス型/union型含む)/整数型/浮動小数点型/ポインタ型/列挙型の場合 を想定した。 ・*ptr のようなものは左辺値になるので置ける。 ・変数名はconst 修飾されていないなら置ける。 ・構造体変数名.データメンバ名 は const 修飾されていないなら置ける。 ・「関数名」は置けない。これは関数呼び出しの関数()とは別の話。 ・&x は置けない。理由としては右辺値であるから。constでもあるが。 ・x + y は、組み込み演算子の場合でも、関数呼び出しに置き換わった場合でも 置けない。後者の場合は、関数の戻り値が置いてあるということになるが右辺値だから。 前者の場合は、右辺値だからだと思う。
|

|