繁体   English   中英

C ++ 0x中的disable_if在哪里?

[英]Where is disable_if in C++0x?

Boost同时具有enable_ifdisable_if ,但C ++ 0x似乎缺少后者。 为什么遗漏了? 在C ++ 0x中是否有元编程工具允许我根据enable_if构建disable_if


哦,我只是注意到std::enable_if基本上是boost::enable_if_c ,并且在C ++ 0x中没有boost::enable_if这样的东西。

冒着看似愚蠢的风险,只需执行!expression而不是在enable_if中的bool模板参数中expression ,使其行为类似于disable_if 当然,如果这个想法有效,你可以扩展它来写一个类似disable_if的行为?

好的,我相信你可以像这样实现disable_if

template <bool B, typename T = void>
struct disable_if {
    typedef T type;
};

template <typename T>
struct disable_if<true,T> {
};

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM