【问题标题】:Standard alternative to POSIX typedefPOSIX typedef 的标准替代方案
【发布时间】:2015-03-17 12:39:51
【问题描述】:

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

【问题讨论】:

  • 我认为这取决于您,只要您将其作为代码中的标准。
  • 如果我是你,我就不会使用后缀 >o
  • 没有绝对的对错。唯一正确的就是保持一致。
  • _type。无论如何,这完全取决于您,因此基于意见。重要的是一致性。
  • 正如其他人所说,一致性是关键。此外,_t_t 保留是违反约定而不是遵守约定。就像所有以 strstr 开头的标识符都被 C 标准库保留的事实一样(因此,不应使用诸如 streetAddressstreetAddress 之类的变量名)。坦率地说,我认为_t 后缀没有什么价值。此类类型名称用于您希望看到其中一种内置类型(即 ∫int、float、float、char` 等),因此只能是 typedef 或可能的宏,但我们都使用 UPPER_CASE ,不是吗?

标签: c posix typedef


【解决方案1】:

“标准”是一个大词。如果您参考 ISO C,那么定义它超出了它的工作范围;实际上,它确实使用了像 time_tsize_t 这样的名称,因为它是允许的,因为 POSIX 是次要的。此外,例如,此约定不适用于基于 Windows 的编程环境。

恕我直言,实际上不需要声明类型就是类型。 C 的类型数量有限,因此确定它是内置类型还是 ADT 是基本的。此外,此类内置类型的名称只有一个小写:如果您看到 stat_buffer,您会立即知道它可能不是内置类型。

无论您做出何种选择,在您的源代码中保持一致是很重要的。无论如何,我看到的非常常见的选择可能是:

  • 大写命名法,如TimePid
  • _type 后缀,如 time_typepid_type
  • 不可见的后缀,如timepid

【讨论】:

    猜你喜欢
    • 2016-02-29
    • 2010-12-12
    • 2011-03-13
    • 1970-01-01
    • 2011-04-12
    • 1970-01-01
    • 2011-08-01
    • 1970-01-01
    • 2014-09-30
    相关资源
    最近更新 更多