MSVC 10基于环路的范围

shu*_*e87 3 c++ visual-c++ c++11

目前在我们正在开发的一个大型c ++项目中,我们有一堆新的循环样式,如下所示:

for (auto& value : values)
Run Code Online (Sandbox Code Playgroud)

到目前为止,我们一直在使用gcc 4.6进行编译.最近一些代码库被移植到Windows,一些开发人员希望在msvc ++ 10中编译,但似乎还没有完全支持新的for循环语法.

非常希望不必重写所有出现此语法的地方.

解决这个问题的最佳方法是什么?

更新:看起来MSVC11中已解决此问题.

Man*_*rse 7

你可以使用Boost.Foreach:

//Using Xeo's example:
BOOST_FOREACH (auto& e, values) {
    std::cout << e << " ";
}
Run Code Online (Sandbox Code Playgroud)