Ответ 1
Суффикс не нужен в С++. Любое значение с плавающей запятой, которое не имеет суффикса 'f', будет по умолчанию задано для типа компилятора double.
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
Если нет, то это единственный способ добиться этого? Меня в основном интересуют обеспечение математики с двойной точностью во время определенных операций и т.д.:
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?
Полезны другие советы, позволяющие компилятору автоматически определять типы во время операции.
Суффикс не нужен в С++. Любое значение с плавающей запятой, которое не имеет суффикса 'f', будет по умолчанию задано для типа компилятора double.