【发布时间】:2011-05-26 20:30:30
【问题描述】:
我一直在思考要不要使用<cstdint>里面的typedef。
我个人更喜欢写 uint32_t 而不是 unsigned int 和 int8_t 而不是 char 等等...因为它对我来说更直观。
你们怎么看?使用 <cstdint> 的 typedef 是否是个好主意?有什么缺点吗?
【问题讨论】:
-
这些类型不等价。
-
首选使用 POD 类型,除非变量的大小对应用程序很重要。嵌入式系统以使用特定于大小的变量而闻名,而桌面应用程序则不太受关注。数据库应用程序可能需要特定大小的变量。
-
@Thomas:
uint32_t和朋友都是POD;它们是typedef继承自 C99。 -
@Thomas : POD 已经有了定义的含义;这些被称为“原始”或“基本”类型。
-
@ildjarn:我同意 POD 在这里不是正确的术语。但是,
uint32_t和朋友也是“原始”类型。我们可能需要像“经典”或“K&R”这样的术语来描述历史上可用的类型。