如何在 Visual Studio 2012 中将所有BOOST_FOREACH替换为 C++11

How to replace all BOOST_FOREACH with C++11 for in visual studio 2012?

本文关键字:BOOST FOREACH 替换 C++11 Visual Studio 2012      更新时间:2023-10-16

我有一个旧的代码库,它经常使用Boost。我将其迁移到vs2012。现在我想使代码更具可读性和现代性。我想知道如何在Visual Studio 2012中将所有BOOST_FOREACH替换为C++11 for

我很想有一个与 VS 查找\替换一起使用的正则表达式。

您可以从一个简单的

VS 查找和替换正则表达式开始:

Find what: BOOST_FOREACH((.+), (.+))
Replace with: for($1 : $2)

选中使用正则表达式

只需重新定义它,您就可以保留与 C++03 的兼容性作为奖励。假设您已经#define foreach BOOST_FOREACH,只需重新定义:

#define foreach(value, container) for(value : container)