首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >'choose<bool,typename,typename>‘有没有标准的结构?

'choose<bool,typename,typename>‘有没有标准的结构?
EN

Stack Overflow用户
提问于 2011-06-19 01:40:04
回答 1查看 138关注 0票数 3

有时,我发现自己需要以下几点:

代码语言:javascript
复制
template<bool B, typename T1, typename T2>
struct choose{
  typedef T1 type;
};

template<typename T1, typename T2>
struct choose<false, T1, T2>{
  typedef T2 type;
};

我使用它来有条件地选择一种或另一种类型。现在,在标准库中有没有什么东西可以做到这一点呢?Boost.MPL has something similar,但这并不完全相同(接受类型,而不是布尔值),我不想在这个小东西上包含Boost。:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-19 01:40:36

是:在C++0x中称为std::conditional (或在Boost中称为boost::conditional )。

您引用的boost::mpl::if有一个对应的boost::mpl::if_c,它接受bool而不是类型;这是Boost类型特征库中的常见模式。

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

https://stackoverflow.com/questions/6397734

复制
相关文章

相似问题

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