以下のスニペットでは、auto
は変数をdouble
に推定しますが、float
が必要です。
auto one = 3.5;
小数点付きのリテラルには常にdouble
を使用しますか? floatとdoubleをどのように決定しますか?
C++の浮動小数点リテラルの型は、次の場合を除いて、自動的にdouble
になります。
f
は接尾辞が付いています。この場合、リテラルのタイプはfloat
です。
L
は接尾辞が付き、その場合、リテラルのタイプはlong double
したがって、変数をfloat
にしたい場合は、次のようにします。
auto one = 3.5f;