是一个浮点类型?

gaa*_*kam 1 c++ floating-point short language-lawyer

我一直认为在C++中short是一个整数类型.

但是,维基百科在本文中以浮点类型列出它:

https://en.wikipedia.org/wiki/Machine_epsilon

我糊涂了.

我很确定short通常是一个整数,但是因为C++是一个有很多陷阱的巨大语言......我可能会问,在C++中是否有合法的,即使是模糊的方式short用作浮点类型?

Cor*_*mer 6

No short不是浮点类型,它是整数类型.来自文档

整数类型
int - 基本整数类型.如果使用下面列出的任何修饰符,则可以省略关键字int.如果不存在长度修饰符,则保证其宽度至少为16位.但是,在32/64位系统上,它几乎完全保证宽度至少为32位(见下文).

修饰符

修改整数类型.可以任何顺序混合.类型名称中只能存在每个组中的一个.

签名
signed - 目标类型将具有签名表示(如果省略,这是默认值)
unsigned- 目标类型将具有无符号表示

大小
short - 目标类型将针对空间进行优化,并且宽度至少为16位.
long - 目标类型的宽度至少为32位.
long long - 目标类型的宽度至少为64位.