代码之家  ›  专栏  ›  技术社区  ›  Cogwheel

为什么它被称为“wchar-t”,而不是简单的“wchar”?

  •  24
  • Cogwheel  · 技术社区  · 16 年前

    我经常想知道为什么C++会用这个名字。 wchar_t 而不是简单的 wchar 我从来没有找到答案。搜索引擎没有帮助,因为他们认为我在问关于Windows的问题。 WCHAR 类型。有什么想法吗?

    3 回复  |  直到 10 年前
        1
  •  32
  •   DavidRR Chris Brandsma    10 年前

    这是C的遗产,在那里 wchar_t 是一个 typedef 类型定义 s在c标准库中有这个后缀。

        2
  •  11
  •   Michael Burr    16 年前

    C标准库使用了 _t 在库中定义的许多类型的后缀(而不是作为关键字烘焙到C中的类型)。

    例如,有 time_t , wchar_t , uint32_t , size_t , ptrdiff_t ,请 div_t 等。

    有趣的是(对我来说)C标准没有为自己保留该表单的名称。C标准确实指出以“开头的名称” str “,” mem 和一些其他前缀可能会在将来添加到标准中,但对以结尾的名称则不一样 艾特 “-以开头的名称除外” int “或” uint “结束于” 艾特 “可以添加到 <stdint.h> 未来。但是,posix会保留以“结尾的所有名称。” 艾特 “。

        3
  •  5
  •   DavidRR Chris Brandsma    10 年前

    我认为这是C和C++成长过程中的一个阶段。人们认为需要一些新的类型,但添加新的关键字一直是有争议的。某些代码已在使用 wchar ,使用的代码要少得多 wchar_t . 注意 size_t diff_t 属于同一时代。