【发布时间】:2014-08-28 15:59:15
【问题描述】:
我想使用 C++14 中引入的通用 lambda 捕获(请参阅 Move capture in lambda 以获得解释)。但是,我的代码的其余部分是 C++11 友好的。我想做一些类似的事情
#ifdef CPP14
// move capture in lambda
#else
// capture by-value
#endif
但是,没有很好的交叉编译器标志来推断版本。有什么人可以建议的吗? (当然,除了定义我自己的宏)
【问题讨论】:
-
GCC 显然将此作为 GNU 扩展。我认为 Boost.Phoenix 也有这个。
-
“没有好的交叉编译器标志来推断版本” - 总是有
__cplusplus的值。