C/C++中数据类型名称的含义

use*_*329 1 c c++ types

在C和C++中,内置整数类型的大小取决于实现.但是它们是否有任何预定义的含义,以至于int应该代表机器字大小等?

Jam*_*nze 5

从历史上看,int它应该是机器硬件上整数最"自然"的类型; 很明显,"自然"在某种程度上是主观的,但在过去,它通常非常明显,而且无论如何都没有那么多的整体类型,所以制作int与a long或a 相同的大小short是正常的过程.

由于各种原因,大多数64位平台产生int32位.人们很容易争辩说这不是最"自然"的长度,但是有一种希望32位整数是默认值,并且int显然是默认的整数类型.对于架构而言,它是否是最自然的,无论它是否是默认的大小都是次要的.

关于字大小:历史上,这是最自然的,但在很多方面,现代机器上的"字大小"是什么意思并不清楚:你能算算算的最大尺寸?公交车往返记忆的大小?传统上,"字大小"用于表示内部寄存器的宽度(当机器具有它们时)或基本总线传输的大小.(8088通常被称为8位机器,虽然它有32位寄存器.)今天我不会说太多意思.