我有一些带有几个数据结构的API。In还包含API不同部分中的一些类型防御数。为了简化API的使用,我希望将所有这些类型都集中在一个只带有typedefs的特殊类中,并在整个API中以相同的风格对待它们。
发布于 2014-01-21 09:38:47
只需使用C++ 命名空间即可。它允许您使用命名范围对相关项进行分组,而不必担心使用类。
发布于 2014-01-21 09:35:23
我认为你指的是特质类。它们只能用于提供有关特定类型的其他信息。如果您的类型与类型无关,则不能将它们按类型分组,而特性类则不适合使用。
一般情况下他们看起来
template<typename Type>
struct type_trait {
typedef void type_trait;
}并针对您所使用的每种类型进行专门化:
template<>
struct type_trait<MyType>
{
typedef TraitType type_trait;
}其中,TraitType是MyType的一种敏感特征类型(一种特征类型),用于通用算法(由类型参数化):
typename type_trait<Type>::type_trait这里的问题是,如果将类型扩展到API中,则可以围绕类型进行分组。使用Struct而不是类来保存类型防御,因为它们无论如何都是公开的。
这里是一个您可能会发现有用的教程。
发布于 2014-01-21 09:37:30
不,这根本不是一个好的练习。盲目地在一个地方收集打字机是完全没有意义的。每个类型的胡枝子都是因为某种原因而存在的,它应该与它所属的东西一起分组。
https://stackoverflow.com/questions/21254117
复制相似问题