C 键入包含类命名的类型

C++ typedefs containing class naming

本文关键字:类型 包含类      更新时间:2023-10-16

我有一些具有多个数据结构的API。在API的不同部分中还包含一些类型的计数。我只想将所有这些类型的人集中在单个特殊类中,仅使用Typedefs,以简化我的API的使用,并以相同的风格对所有API进行处理。

  1. 此类类型的类别有任何常规的命名样式?
  2. 这是一个好习惯吗?

只需使用C 名称空间即可。它允许您将相关项目与命名范围分组,而不必担心使用类。

不,这根本不是一个好习惯。在一个地方盲目地收集类型是绝对没有意义。每个Typedef都因为某种东西而存在,并且应该与其所属的任何东西分组。

我认为您所指的是特质类。它们只能用于提供有关特定类型的其他信息。如果您的typedef是不与类型相关的,则不能围绕类型进行分组,而性状类也不是要走的方式。

通常它们看起来像

template<typename Type>
struct type_trait {
    typedef void type_trait; 
}

并且专门用于您正在使用的每种类型:

template<>
struct type_trait<MyType>
{
    typedef TraitType type_trait; 
}

其中traittype是一种明智的特征类型(一种特征类型),用于通用算法中(按类型进行参数):

typename type_trait<Type>::type_trait

这里的问题是,是否可以围绕类型进行分组的typedefs分布在API上。结构是使用的,而不是类typedefs的班级,因为它们无论如何都会公开。

这是您可能会发现有用的教程。