c++ - 2.0 和 2.0f 之间的区别(显式 float 与 double 文字)

标签 c++ c

我对将 f 放在文字值旁边有一些疑问。我知道它将它定义为 float 但我真的需要它吗? 此 2.0f * 2.0f 是否比 2.0 * 2.0 更快或编译有任何不同?像 float a = 2.0; 这样的语句的编译方式是否与 float a = 2.0f; 不同?

最佳答案

有时您需要它显式地具有 float 类型,如下例所示

float f = ...;
float r = std::max(f, 42.0); // won't work; (float, double).
float r = std::max(f, 42.0f); // works: both have same type

关于c++ - 2.0 和 2.0f 之间的区别(显式 float 与 double 文字),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3696902/

相关文章:

c - c中if语句中表达式的求值

c++ - Qt camera 例子没有找到笔记本电脑的网络摄像头

c++ - 此代码中调试断言的原因

c - 在 C 中的 switch case 中选择默认值后,我似乎无法再次循环

使用指针更改 const int 的值

c - c中是否有固定大小为两个字节的浮点类型?

c++ - 如何实现编译时的功能单元测试?

c++ - 检查文件是否在应用程序外被修改

c++ - QML ListView 和 c++ : ReferenceError Model not defined

c - opengl View 、投影和正交纵横比