当前位置: 首页 > 知识库问答 >
问题:

在C语言中,“整型类类型”是什么意思?我以为整数类型不是类?

太叔昊穹
2023-03-14

在阅读参考资料时。com文档中的std::numeric_limits,我遇到了以下声明

还提供了所有整数类类型的专门化。(从20世纪开始)

我的问题是,我们在上面的语句中所说的整数类类型是什么意思。我的意思是,我知道int是C中的内置类型。我们可以在C中提供用户定义的类。但是我从来没有读过关于整数类类型的文章。我试着在谷歌上搜索这个短语,但是没有找到任何与此相关的东西。

共有2个答案

沈华皓
2023-03-14

它是另一组整数类型,既不是标准整数类型,也不是扩展整数类型。

有五种标准带符号整数类型:“带符号字符”、“短int”、“int”、“长int”和“长int”。在这个列表中,每种类型提供的存储空间至少与列表中它前面的类型相同。也可能有实现定义的扩展带符号整数类型。标准和扩展带符号整数类型统称为带符号整数类型。

这里的一个问题是,typedefintmax_t必须定义为这些整数类型中最大的一个(因此它的名称:-)。

现在,如果一个实现要定义一组新的“整数类类型”,这些类型不是“标准”或“扩展”整数,而仅仅是“类似整数”,它可以使用这些类型而不改变intmax_t

将我们从ABI中断中保存到intmax_t参数的所有先前使用。

祁承嗣
2023-03-14

从历史上我们可以看到,这与C 20中添加的迭代器概念有关;特别是,[iterator.concept.winc]/2说

类型I是一个整数类类型,如果它位于一组实现定义的类型中,这些类型的行为与整数类型类似,如下所述。

[注1:整数类类型不一定是类类型-

该库被允许使用这些适当的类似整数的类型之一来表示范围的大小和范围元素之间的距离。

 类似资料:
  • 主要内容:哪些情况下使用 int 和 uintGo语言的数值类型分为以下几种:整数、浮点数、复数,其中每一种都包含了不同大小的数值类型,例如有符号整数包含 int8、int16、int32、int64 等,每种数值类型都决定了对应的大小范围和是否支持正负符号。本节我们主要介绍一下整数类型。 Go语言同时提供了有符号和无符号的整数类型,其中包括 int8、int16、int32 和 int64 四种大小截然不同的有符号整数类型,分别对应 8、1

  • 问题内容: 该链接指出以下内容: 具有实际类型参数的泛型类型的实例化称为参数化类型。示例(参数化类型): 那么什么是参数化类型? 要么 问题答案: 它们都是参数化类型:以其他类型为参数的类型。 您在表达式的两侧具有不同类型的事实是无关紧要的,并且与多态行为有关,即因为是的子类型。

  • 在Java中解析类型是什么意思? 下面是一些用法示例,我试图理解它们: 从: 如果基础字段的类型是类型变量或参数化类型,则创建它。否则,它被解决。 需要创建类型变量或参数化类型才能使这种形式的反射工作,因为它们无法加载,因为它们在运行时并不真正“存在” 所以,如果某个东西在运行时存在,它可以被“解决”?通过类加载器 从: 根据此类型所表示的类型上下文解析给定的类型。例如: 这个我一点也不明白。不确

  • 本文向大家介绍C#中什么是值类型与引用类型?相关面试题,主要包含被问及C#中什么是值类型与引用类型?时的应答技巧和注意事项,需要的朋友参考一下 值类型:struct、enum、int、float、char、bool、decimal 引用类型:class、delegate、interface、array、object、string  

  • 我刚刚开始学习Javascript,我立刻被Mozilla的《Javascript重新介绍》(JS教程)中看似矛盾的语句弄糊涂了。 一只手: “JavaScript中没有整数这类东西,因此,如果你习惯于用C或Java进行数学运算,那么你就必须对算术稍微小心一点。” 另一方面(紧接该段之后): 实际上,整数值被视为32位int(并且在某些浏览器实现中以这种方式存储),这对于逐位操作很重要。 和 “可

  • 问题内容: 考虑以下代码: 编译产生错误 因为表达式i / j的类型显然是int,因此必须将其强制转换为short。 为什么类型不短? 问题答案: 从Java规范: 5.6.2二进制数值提升 当运算符将二进制数值提升应用于一对操作数时,每个操作数必须表示一个数值类型的值,以下规则按顺序适用,并根据需要使用加宽转换(第5.1.2节)来转换操作数: 如果一个操作数的类型为double,则另一个将转换为