相关疑难解决方法(0)

如何检查C++ 11支持?

有没有办法在编译时检测编译器是否支持C++ 11的某些功能?例如,像这样:

#ifndef VARIADIC_TEMPLATES_SUPPORTED

#error "Your compiler doesn't support variadic templates.  :("

#else

template <typename... DatatypeList>
class Tuple
{
    // ...
}

#endif
Run Code Online (Sandbox Code Playgroud)

c++ c++11

99
推荐指数
10
解决办法
8万
查看次数

是否有用于检测C++ 11x支持的预处理器指令?

如果有一些代码我想尽可能多地使用C++ 11x扩展,但如果不支持则有后备.目前,GCC的OSX版本和VisualC编译器几乎不支持C++ 11x,所以我使用:

#if (defined(__APPLE__) || (defined(_WIN32)))
   ...fallback code without C++11x ...
#else
   ... code using C++11x ...
#endif
Run Code Online (Sandbox Code Playgroud)

这可行,但不是真正正确的事情,特别是因为MacPorts中的gcc编译器支持c ++ 11x.

#define C11X_SUPPORTED型宏吗?也许GCC只有一些东西?

c++ gcc c-preprocessor preprocessor-directive

49
推荐指数
3
解决办法
4万
查看次数

标签 统计

c++ ×2

c++11 ×1

c-preprocessor ×1

gcc ×1

preprocessor-directive ×1