我必须遗漏一些东西,这有什么不对吗?
float controlFrameRate = 1/60;
Run Code Online (Sandbox Code Playgroud)
它应该分配像0.0166666667这样的东西,它出来的0.00000等是视觉工作室只是骗我?
那是因为1/60是一个整数,因为整数除法被截断,所以它是0.这用于初始化float,给出0.你可以通过使RHS表达式首先浮动来修复它:
float controlFrameRate = 1.0f/60;
Run Code Online (Sandbox Code Playgroud)
的
float controlFrameRate = 1/60.0f;
Run Code Online (Sandbox Code Playgroud)
在C++中,文字等1,42等是int,1.0,3.1416是double和f在1.0f使文字一个float.请注意,在f上面的示例中可能已省略.但是,如果double的值超出float的范围,则为float指定double可能会有问题.