我曾是一名电气工程师,现在是一名计算机科学家。对我来说,在C ++中有许多东西几乎相同,但不完全相同,这让我很难理解。一个例子是
short
与 int
vs unsigned int
vs size_t
vs long int
vs long long int
vs uint8_t
(我不知道是否还有其他指定整数的方法)。这似乎使语言变得不必要地复杂。
size_t
可以被替换吗?或者它有任何不可能以其他方式使用的功能吗?
[编辑]
在得到有益的答案后,仍有些事情没有完全看清楚。 size_t
在可移植性和性能方面都很有用,正如几位人士建议的那样。但是,有多么有用,是否有量化的方式或数值证据来衡量相对于只具有 int
并退役其所有“兄弟”???
int
,short
等)的存在部分是因为C语言有这些类型,而C++最初只是生成C代码的预处理器,另一部分是因为它使得编写“接近底层”的代码更容易。类型别名(如size_t
)是为了使代码更易读,并更多地展示意图。使用size_t
可以表明“这是一个大小”,因此更多地是为程序员而不是编译器的需要。 - Some programmer dude