【发布时间】:2009-10-07 22:33:06
【问题描述】:
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?
有关允许编译器在操作期间自动确定类型的其他提示会有所帮助。
【问题讨论】:
标签: c++