Boost.Foreach
来源:互联网 发布:远程关机软件 编辑:程序博客网 时间:2024/05/12 18:20
类似perl和c#的foreach,BOOST_FOREACH给我们带来了一种简单而有效的遍历数组的方式。
让我们首先来看个简单的例子:
#include<string>
#include<iostream>
#include<boost/foreach.hpp>
int main()
{
std::string hello( "Hello, world!" );
BOOST_FOREACH( char ch, hello )
{
std::cout << ch;
}
return 0;
}
和传统的for或者std::for_each()算法比起来,BOOST_FOREACH显得更加优雅而简洁。
BOOST_FOREACH支持遍历所有被Boost.Range识别为序列类型的对象,通常包括如下几种:
- STL容器
- 数组
- 字符串strings
如下是几个常见的例子:
1. 用BOOST_FOREACH遍历STL容器
std::list<int> list_int(/*...*/ );
BOOST_FOREACH( int i, list_int )
{
// do something with i
}
2. 使用引用类型获取更高效的遍历
std::vector<std::vector<int> > matrix_int;
BOOST_FOREACH( std::vector<int> & row, matrix_int )
BOOST_FOREACH( int & i, row )
++i;
3. 使用break,continue,及return实现遍历循环的控制
std::deque<int> deque_int(/*...*/ );
int i = 0;
BOOST_FOREACH( i, deque_int )
{
if( i == 0 ) return;
if( i == 1 ) continue;
if( i == 2 ) break;
}
此外,还一个小诀窍就是通过define将BOOST_FOREACH定义为更优雅的方式:
#define foreach BOOST_FOREACH
BOOST_FOREACH并不复杂,有兴趣的朋友可以看看,相信对提高大家的编程能力还是很有帮助的。
- Boost.Foreach
- 使用 boost.foreach foreach
- 使用 boost.foreach foreach
- 使用 boost.foreach foreach
- boost之Boost.Foreach遍历
- boost之Boost.Foreach遍历
- boost foreach 探究
- Boost程序库学习-foreach
- boost之foreach
- boost foreach库的例子
- boost 系列四 Array和FOREACH
- foreach
- foreach
- foreach
- foreach
- Foreach
- forEach
- foreach
- 获取系统信息的功能类
- Webview android
- [Friends]S03E15-23
- 笔记2:win7下 OpenCv2.4.3+Qt5.0.1版本的配置
- java,android,MD5加密算法(16位,32位)
- Boost.Foreach
- oracle忘记用户名密码怎样恢复
- RAC Tutorial
- linux文件夹打包命令
- 金山网络CEO傅盛: 产品设计, 简单才是王道
- ios 终端命令
- android系统消息之模拟
- unix高级环境编程--unix基础知识
- vc++6.0环境下如何调试DLL程序