Существуют ли числовые суффиксы для указания двойника?

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?

Полезны другие советы, позволяющие компилятору автоматически определять типы во время операции.

Ответы

Ответ 1

Суффикс не нужен в С++. Любое значение с плавающей запятой, которое не имеет суффикса 'f', будет по умолчанию задано для типа компилятора double.

Ссылка: http://en.wikipedia.org/wiki/C_0x