【发布时间】:2014-07-11 02:45:03
【问题描述】:
当我使用 C++11 支持编译我的代码(使用 -std=c++11 标志)并使用非仅标头 Boost 库时,我需要使用 -std=c++11 编译 Boost。这是因为 Boost 在启用 C++11 时,在头文件中存在一些接口差异,并且针对不同的 C++ 标准,一些函数签名也不同。
我的问题是 C++14 是否也是如此(使用 g++ 4.9,带有 `-std=c++1y 标志),或者将使用 C++11 编译的 Boost 用于程序是否安全用 C++14 编译?
【问题讨论】:
-
在 C++14 标准最终确定之前,没有什么是安全的,在撰写本文时,情况并非如此。由于它的范围广泛限于对 C++11 的修复,我想你会使用 -std=c++11 逃脱。
-
我不认为 C++14 将与 C++11 100% 兼容,至少有 1 种情况表明,在这个时间点,它的处理方式有所不同这 2 个标准(当然 C++14 还没有,所以关于它的一切都是假设的)。
标签: c++ c++11 boost c++14 gcc4.9