C++ 是否有用于指定双精度的数字后缀?

C++ 是否有用于指定双精度的数字后缀?,c++,C++,如果不是,那么演员阵容是实现这一目标的唯一途径吗?我主要对……感兴趣 在某些操作等过程中确保双精度数学: void Foo(float a){} //1 void Foo(double a){} //2 overloaded Foo(1.0f); //calls function 1 Foo(1.0 /*double numeric suffix?*/); //calls function 2 < >允许编译器在操作过程中自动确定类

如果不是,那么演员阵容是实现这一目标的唯一途径吗?我主要对……感兴趣 在某些操作等过程中确保双精度数学:

void Foo(float  a){}  //1
void Foo(double a){}  //2 overloaded


Foo(1.0f);                           //calls function 1
Foo(1.0 /*double numeric suffix?*/); //calls function 2

< >允许编译器在操作过程中自动确定类型的其他技巧会很有帮助。

在C++中不需要后缀。默认情况下,任何缺少“f”后缀的浮点值都将被键入编译器类型double

参考:

ulong j;
double v;

j = /*some value*/;
if(j>0UL)
  v = 1.0 / j;  //if 1.0 is set as a float by the compiler then
                //could it be likely we lose some precision here 
                //if a double would allow for more precision?  Is
                //a cast the only means of ensuring double precision?