首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >包含类命名的C++类型

包含类命名的C++类型
EN

Stack Overflow用户
提问于 2014-01-21 09:32:07
回答 3查看 102关注 0票数 0

我有一些带有几个数据结构的API。In还包含API不同部分中的一些类型防御数。为了简化API的使用,我希望将所有这些类型都集中在一个只带有typedefs的特殊类中,并在整个API中以相同的风格对待它们。

  1. 这类类是否有传统的命名风格,只包含类型?
  2. 这是一个很好的练习吗?
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-01-21 09:38:47

只需使用C++ 命名空间即可。它允许您使用命名范围对相关项进行分组,而不必担心使用类。

票数 2
EN

Stack Overflow用户

发布于 2014-01-21 09:35:23

我认为你指的是特质类。它们只能用于提供有关特定类型的其他信息。如果您的类型与类型无关,则不能将它们按类型分组,而特性类则不适合使用。

一般情况下他们看起来

代码语言:javascript
复制
template<typename Type>
struct type_trait {
    typedef void type_trait; 
}

并针对您所使用的每种类型进行专门化:

代码语言:javascript
复制
template<>
struct type_trait<MyType>
{
    typedef TraitType type_trait; 
}

其中,TraitType是MyType的一种敏感特征类型(一种特征类型),用于通用算法(由类型参数化):

代码语言:javascript
复制
typename type_trait<Type>::type_trait

这里的问题是,如果将类型扩展到API中,则可以围绕类型进行分组。使用Struct而不是类来保存类型防御,因为它们无论如何都是公开的。

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

票数 1
EN

Stack Overflow用户

发布于 2014-01-21 09:37:30

不,这根本不是一个好的练习。盲目地在一个地方收集打字机是完全没有意义的。每个类型的胡枝子都是因为某种原因而存在的,它应该与它所属的东西一起分组。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21254117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档