C++ C/C++;下划线t/类型(\u t/\u类型)和类名?

C++ C/C++;下划线t/类型(\u t/\u类型)和类名?,c++,c,typedef,C++,C,Typedef,我知道下划线t(\u t)用于标识类型,就像下划线类型(\u type)一样,通常在typedef语句中使用 是否有稍微不同的用法(例如,下划线类型表示模板,下划线t表示非模板) 为什么不在声明中使用它们?例如: class person_t { }; enum error_t { }; 这与上一个关于下划线t的问题不同,因为它还要求区分下划线类型。另外,(盲目地)很明显,这两个后缀都是约定的,但不清楚为什么它们都在C++标准中使用。例如:STD::SsiZiTvs. STD::IsSrAM

我知道下划线t(
\u t
)用于标识类型,就像下划线类型(
\u type
)一样,通常在
typedef
语句中使用

  • 是否有稍微不同的用法(例如,下划线类型表示模板,下划线t表示非模板)

  • 为什么不在声明中使用它们?例如:

    class person_t { };
    enum error_t { };
    

  • 这与上一个关于下划线t的问题不同,因为它还要求区分下划线类型。另外,(盲目地)很明显,这两个后缀都是约定的,但不清楚为什么它们都在C++标准中使用。例如:STD::SsiZiTvs. STD::IsSrAM::POSYTYPE。< /P> < P>我不知道你的第一个问题有任何答案,我相信这只是C++标准中存在的两个不同的约定。 对于第二个问题,我在哪里知道C++中使用的代码< > t> <代码>或<代码>类型>代码>,它们被用作一些基础类型的Type。例如,
    uint32\u t
    是当前实现中大小为32位的无符号整数类型的typedef。它们从未用于实际类型


    我相信POSIX使用的是代码> > T/<代码>,但这是一个不同的约定,与C++标准中的用法不同。

    只是一个约定,有一些样式指南不使用<代码> < t >代码>后缀,例如:没有符合你想象的理解的规则。这都是任意的。请注意POSIX声明了
    …\u t
    “名称空间”。每个人都把他们的结构称为“我的类型”,但实际上你不应该这么做。你读了上面的编辑解释了这个问题和现有问题之间的区别吗?@Kay,这就是我为什么使用“我的类型”\t。我的印象是,POSIX或任何其他标准都没有为自己的库声明它。这是真的吗?