为什么数字字面值的后缀long int和long double都是l/ l ?
How can the suffix for numeric literals long int and long double both be l/L?
数字字面值long int
和long double
的后缀l
和L
相同。我不明白编译器如何知道我是否希望我的数字文字是一个长int或长double,如果他们都共享相同的后缀。为什么会这样呢?
文字数字需要有一个句点或指数才能被视为浮点文字常量。
From C11 6.4.4.2/4:
无后缀的浮动常量的类型为double。如果以字母f作为后缀,则具有float类型。如果以字母l或l作为后缀,则具有long double类型。
浮动常量由6.4.4.2开头的语法定义。它必须包含.
,所以不存在与整数常量的歧义。
相关文章:
- cudaMallocManaged with vector<complex<long double> > C++ - NVIDIA CUDA
- 错误:调用'begin(long double [nPoints])'没有匹配函数;使用硬编码的 int 与整数变量初始化向量
- c++模板实例化可以使用int、long等,但不能使用float、double等
- Casting from (long)double to size_t
- 使用 GCC 和 C++11 实施类型 "long double"
- 如何将双精度转换为标准'long double'
- 为什么从无符号long-long转换为double会导致数据丢失
- C++无法将'long double'转换为'long double*',因为参数'1'为"long
- 在C++中,将double转换为long的类型返回了不正确的值
- Cout long double issue
- C++ winapi LONG to std double
- 警告:从'long int'转换为'double'可能会更改其值
- 将多边形坐标从Double转换为Long以用于Clipper库
- 为什么要使用float over double,或者double over long double
- 如何正确检查“double”或“long double”是否适合“long long”
- 函数定义中使用的两种数据类型to_string(long double _Val)
- "long double"一个字的名字吗?
- c++ fab (long double)编译器警告
- 何时使用 std::complex<long double> vs. 自己的复杂数据类型(结构等)
- 为什么数字字面值的后缀long int和long double都是l/ l ?