博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
boost学习之BOOST_FOREACH
阅读量:5884 次
发布时间:2019-06-19

本文共 649 字,大约阅读时间需要 2 分钟。

成天写迭代器,写的手指都疼,BOOST_FOREACH可以方便的遍历STL容器.

只需要头文件:

#include <boost/foreach.hpp>

然后遍历容器vector/list/set/deque/stack/queue都是类似的:

vector
<
int32_t
>
 _v;
BOOST_FOREACH(int32_t value,_v)
{
//
这里就可以访问value
}

同时元素还支持引用,const,比如上面代码还可以写成:

vector
<
int32_t
>
 _v;
BOOST_FOREACH(int32_t
&
 value,_v)
{
//
这里就可以修改/访问value
}

如果元素内容是结构体之类,引用可以防止拷贝~~

对于map的访问有一点特殊,因为map的元素是std::pair<T1,T2>,所以需要写成这样:

std::map
<
int32_t,int32_t
>
 _map;
typedef const std::map<int32_t, int32_t>::value_type const_pair;
BOOST_FOREACH(const_pair
&
 node,_map)
{
//
这里就可以访问node的元素
int32_t key 
=
 node.first;
int32_t value 
=
 node.second;
}

转载于:https://www.cnblogs.com/wangicter/p/4767223.html

你可能感兴趣的文章
来啃硬骨头——费波纳茨(Fibonacci)矩阵快速幂 c++
查看>>
我被阿里云美女清宵的观后感给撩了
查看>>
进一步成熟,Chrome OS 提供了更完整的 USB 支持
查看>>
Chrome 正在测试新的扩展菜单
查看>>
USB-IF 再度为 USB 3 改名,这次更难辨别了
查看>>
PostgreSQL 10.1 手册_部分 II. SQL 语言_第 8 章 数据类型_8.11. 文本搜索类型
查看>>
smartforms相关知识
查看>>
香港美食记录(物价参考)
查看>>
Oracle DG 备库恢复--gap
查看>>
iptables简介1
查看>>
AdaNet — 轻量级的 TensorFlow AutoML 框架
查看>>
斯坦福凸优化课程Video2.4_
查看>>
阿里AI设计师一秒出图,小撒连连惊呼,真相是...
查看>>
python之Unittest单元测试框架
查看>>
Spring学习笔记
查看>>
C# Lambda表达式详解,及Lambda表达式树的创建
查看>>
基于Docker搭建Jumpserver堡垒机操作实践
查看>>
vs2017开发IOS(vs2017 xamarin 连接mac)
查看>>
聊聊 scala 的模式匹配
查看>>
百度L4量产杀入乘用车后院,李彦宏首谈“车路城”终极形态
查看>>