Wie entscheidet C ++ 11 über Inferenz zwischen Floats oder Doubles?

8

Betrachten Sie dieses Beispiel der Typinferenz:

%Vor%

Wird dieses Verhalten unter einem C ++ 11-Typ-Inferenzwert auf einen Float oder einen Doppelpunkt überprüft ?, kann dieses Verhalten gesteuert werden?

    
Gearoid Murphy 23.09.2012, 14:54
quelle

1 Antwort

14

Es wird als double ausgewertet und ja, Sie können es kontrollieren.

Im Standard ISO-14882: 2011 , 2.14.4 Fließende Literale , Punkt 1:

  

Der Typ eines Floating-Literals ist doppelt, sofern nicht ausdrücklich ein Suffix angegeben ist. Die Suffixe f und F spezifizieren float, die Suffixe l und L spezifizieren long double. Wenn der skalierte Wert nicht im Bereich der darstellbaren Werte für seinen Typ liegt, ist das Programm schlecht formatiert.

    
Kiril Kirov 23.09.2012, 15:00
quelle

Tags und Links