尽管C和C ++是抽象的,但我们通常使用它们对真实的计算机进行编程,真实的计算机表示具有各种属性的多种体系结构。
[在ISO / IEC 9899:2018(C18)中在7.20.1.3中声明:
7.20.1.3最快最小宽度整数类型
1下列每个类型都指定一个整数类型,该整数类型通常最快268)可与至少具有指定宽度的所有整数类型一起使用。
2 typedef名称int_fastN_t指定宽度至少为N的最快有符号整数类型。typedef名称uint_fastN_t指定宽度至少为N的最快无符号整数类型。
3需要以下类型:
int_fast8_t,int_fast16_t,int_fast32_t,int_fast64_t,uint_fast8_t,uint_fast16_t,uint_fast32_t,uint_fast64_t
此表单的所有其他类型都是可选的。
268)不能保证指定的类型在所有情况下都是最快的;如果实现没有明确的理由选择一种类型而不是另一种类型,那么它将仅选择一些满足符号性和宽度要求的整数类型。
但是没有说明为什么这些“快速”整数类型更快。
在7.20.1.3中规定了ISO / IEC 9899:2018(C18):7.20.1.3最快最小宽度整数类型1以下每种类型都指定一个通常最快的整数类型268 ...]]] >
尽管C和C ++是抽象的,但我们通常使用它们对真实的计算机进行编程,真实的计算机表示具有各种属性的多种体系结构。
[在一种体系结构上,32位word可能是最“自然”的数据类型,因此是最快的数据类型(不需要观察或操作它的additional operations),而在另一种体系结构上则可能并非如此。琐碎的工作。
因此,在某些平台上,x位整数可能比另一个整数“更快”。提供这些别名是为了给实施者和程序员提供在其平台上使用“快速”类型的灵活性,唯一的限制是它提供了[[至少
sizeof(int_least8_t)==1
,sizeof(int_least16_t)==2
等。),但是您的行驶里程可能会有所不同,尤其是在某些异国情调的系统上。 尽管C和C ++是抽象的,但我们通常使用它们对真实的计算机进行编程,真实的计算机表示具有各种属性的多种体系结构。