为什么我们在C / C ++中有基元的多种数据类型?

时间:2015-12-10 20:37:20

标签: c++ c primitive

在C / C ++中,每个库都有自己的基本类型数据类型。例如:

byte, word64, DWORD, LWORD, uint, unsigned int, size_t, ...

然而,在Java和C#等高级语言中,一切都是统一的(跨所有库)。

在C / C ++编程中,[初学者]人们真的很困惑他们应该使用哪种数据类型。例如,byte定义为unsigned char,那么为什么我们需要byte呢?

我认为至少对于初学者来说,这可能是许多内存泄漏和其他问题(例如许多漏洞)的来源。我仍然无法弄清楚拥有这些数据类型的重点是什么,而最小的数据类型就足够了?

同样的问题是我们拥有的null指针:

NULL, 0, _null, ...

所有内容都定义为0

更新#1:

正如@CoryKramer所说,原因可能是因为跨平台兼容性和互操作性。那么,我想到的另一个问题是,为什么标准不能定义统一的,跨平台的,可互操作的数据类型?

0 个答案:

没有答案