2013-02-14 54 views
2

对于32位和64位系统上C和C++语言的数据类型大小,我有几个基本问​​题。 我没有得到一个令人信服的答案在网上相同的,我的问题是。对于基于32位和64位系统的C或C++语言,数据类型大小如何不同

  • 说为C++语言,是否该数据类型的大小取决于,
    • 无论编译器是32位或64位
    • 无论计算机体系结构是32位或64位
    • 或者,用于32位和64位系统的C++语言标准。

在此先感谢。

Regards, Vijay。

+0

通常取决于您正在编译的目标架构。 – Erik 2013-02-14 07:55:41

+0

请您详细说明一下吗? – 2013-02-14 08:09:59

回答

2

它们实际上取决于一切,甚至可能在编译器标志上,所以不要做出假设。既可以编写您定位的平台的文档,也可以使用固定宽度的标准类型(C中的<stdint.h>,C++中的<cstdint>)。

+0

好吧,我理解你的观点,所以当我检查** stdint.h **时提到了** typedef int int32_t ** - 是否意味着int在32位总是32位宽, 64位系统? – 2013-02-14 08:06:26

+1

@VijaySringeri no。这就是我想解释的。当你看到一只黑猫时,你认为这个星球上的每只猫都是黑色的吗?当然你不知道。 – 2013-02-14 13:59:20