azi*_*ian 5 c++ templates type-traits
我正在看着type_traits,不小心碰到了这个事实,这float被认为不是一个完整的类型.这对我来说有点意外.
我浏览了网页以找到适当的信息,但找不到任何与此相关的信息.我能找到的就是这样的:
如果T是整数类型(bool,char,char16_t,char32_t,wchar_t,short,int,long,long long,包括任何signed,unsigned和cv-qualified变体),则提供成员常量值等于true.对于任何其他类型,值为false.
所以这里的问题是:为什么C++标准委员会认为浮点数不是一个整数类型?
我怀疑你的困惑是积分的含义适用:
INTEGRAL的定义
1 a:完整性至关重要:成分"课程的一个组成部分"
b(1):存在,包含或涉及一个或多个数学整数(2):与数学积分或数学积分结果有关或有关
它不是(1a)对完整性(float可能是)必不可少的,而是(1b)与整数有关.
乔恩的答案是正确的,但以下是一些 可能对您有所帮助的类型特征的简短概述:
is_integral检查类型是否为整型is_floating_point检查类型是否为浮点类型is_arithmetic检查类型是整型还是浮点类型这是Howard Hinnant 提供的一个很好的图表,显示了类型类别之间的关系。
| 归档时间: |
|
| 查看次数: |
1299 次 |
| 最近记录: |