2013-02-14 30 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

相關問題