6

是否可以使用预处理器指令确定 C++ 标准库是否支持 C++11?

我目前正在开发一个使用 C++11 语言方言的项目,但使用的是不支持 C++11 的 C++ 标准库(我需要它才能与非 C++11 库链接)。

我知道我可以使用 测试 C++11 支持#if __cplusplus >= 201103L,但在我的情况下,这将评估为 true。我需要了解 C++ 标准库对 C++11 的支持。

4

2 回答 2

4

功能测试是标准委员会朝着下一个 C++14 标准(及更高标准)前进的一个积极研究方向。有一个第 10 研究组,它有自己的可免费访问的邮件列表,正在讨论当前的发展。为下次会议提交了这份N3694 工作文件

于 2013-07-19T13:06:55.133 回答
3

我的问题是在 iOS 平台上,C++ 标准库的选择介于libstd++ (GNU C++ standard library)libc++ (LLVM C++ standard library with C++11 support). 我最终使用了_GLIBCXX_. 完整的代码最终是:

#ifndef _GLIBCXX_
template <class T>
T&& move (T& arg) noexcept {
    return static_cast<T&&>(arg);
}
#endif
于 2013-07-19T12:21:13.453 回答