web-dev-qa-db-fra.com

Pourquoi auto déduit-elle cette variable comme double et non flottante?

Dans l'extrait ci-dessous, auto déduit la variable à double, mais je veux float.

auto one = 3.5;

Utilise-t-il toujours double pour les littéraux avec un point décimal? Comment décide-t-il entre float et double?

13
Abhinav Kinagi

Le type d'un littéral à virgule flottante en C++ est automatiquement double sauf si:

  1. f est suffixé, auquel cas le type du littéral est float

  2. L est suffixé, auquel cas le type du littéral est long double

Donc, si vous voulez que votre variable soit un float, faites ceci:

auto one = 3.5f;
0
S.S. Anne