【发布时间】:2023-04-06 11:54:01
【问题描述】:
对于嵌入式项目,我想知道符合标准的 C 编译器 (C99) 和 C++ 编译器 (C++11) 何时最有可能将单浮点变量/值隐式提升为 double-浮动。
我知道两种情况:
- 不带
f后缀的文字。例如:3.14 - 将浮点数传递给具有可变参数列表的函数 (
...)
还有其他人吗?模板呢?
this question 的回答对我也很有帮助 - 包括在此处以供参考。
【问题讨论】:
-
在所有使用通常算术转换的操作中。
-
您可能想了解standard conversions in C++。还有for C as well。
-
@Patrick B. 至于文字,则没有转换。它是 lfloating 字面量的定义。
-
无论如何您都不能将
double传递给模板。并且模板实例化会有一个具体的函数签名。
标签: c++ c c++11 compilation