标准的 POSIX typedef 替代方案

3

在我读到POSIX保留了以_t结尾的typedef之前,我经常使用它。有什么常用的标准替代方案可以取代这个后缀呢?


4
我认为这取决于你,只要你在代码中确立一个标准就可以了。 - moffeltje
如果我是你,我就不会使用后缀 >o<。 - ikh
_type。无论如何,这取决于您的意见。重要的是保持一致性。 - edmz
我知道你需要保持命名规范的一致性,但我想知道是否有一个标准 - tversteeg
1
正如其他人所说,一致性是关键。此外,_t_t保留是一种惯例,更多的是违反而不是遵守。就像所有以strstr开头的标识符都被C标准库保留一样(因此,不应使用类似streetAddressstreetAddress这样的变量名)。坦率地说,我认为_t后缀没有什么价值。这样的类型名称用于您希望看到内置类型之一的地方(即∫int、float、char等),因此除了typedef或可能的宏之外,它们不能是任何其他东西,但我们都使用UPPER_CASE来表示,不是吗? - kdopen
显示剩余3条评论
1个回答

2
“标准”是一个很大的词。如果您参考ISO C,它的工作范围已经超出了定义的范畴;事实上,它使用像time_tsize_t这样的名称,因为POSIX是其次要的。此外,这种约定并不适用于基于Windows的编程环境。
在我看来,没有必要声明“类型就是类型”。C语言的类型数量有限,因此很容易确定它是内置类型还是ADT。此外,这些内置类型具有小写单词名称:如果您看到stat_buffer,您会立即知道它可能不是内置类型。
无论您做出什么选择,保持代码中的一致性非常重要。无论如何,我经常看到的选择可能是:
  • 大写命名法,例如TimePid
  • _type后缀,例如time_typepid_type
  • 无形式后缀,例如timepid

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接