有时我需要将无符号整数值转换为浮点数。例如,我的图形引擎使用浮点数来表示
现在,我通常做的是:
在特定的前提下(见注释),这种做法是否可行?有没有比在代码中大量使用
注:我不能触及图形API。我必须使用接受浮点数的SetScale()函数。此外,我也不能触及大小,它必须是无符号整数。我相信还有许多其他具有相同“问题”的示例。上述内容适用于任何需要进行转换且作为程序员在此事上几乎没有选择余地的情况。
SetScale(float x, float y, float z)
,而我的对象的大小是一个unsigned int
。我希望将无符号整数转换为浮点数,以便正确缩放实体(这个例子非常具体,但我希望你能理解)。现在,我通常做的是:
unsigned int size = 5;
float scale = float(size);
My3DObject->SetScale(scale , scale , scale);
在特定的前提下(见注释),这种做法是否可行?有没有比在代码中大量使用
float()
更好的方法?注:我不能触及图形API。我必须使用接受浮点数的SetScale()函数。此外,我也不能触及大小,它必须是无符号整数。我相信还有许多其他具有相同“问题”的示例。上述内容适用于任何需要进行转换且作为程序员在此事上几乎没有选择余地的情况。
/W5
下,如果存储类别说明符不是声明中的第一个关键字,则会发出警告(例如,const static int x;
是错误的,但static const int x;
是可以的)。 :-) - James McNellis