BGL:是否可以使用C++11的范围在图的顶点上循环
BGL: Is it possible to use range for of C++11 to loop over the vertices of the graph?
这个问题是关于Boost Graph Library
的。
如何(如果可能的话)使用C++11的循环的范围在图的顶点上循环?
您可以,只需一点编码。
让我们首先回顾一下如何在bgl中访问图的顶点。如果图g
实现了VertexListGraph概念,那么您可以调用vertices(g)
,它将返回一个std::pair<vertex_iterator, vertex_iterator>
。
现在,您不能使用一对作为范围,但boost有一个助手:迭代器_范围
未测试的示例代码:
for(auto& vertex : make_iterator_range(vertices(g)))
对于任何对象,只要该对象提供某种迭代器,就可以重载非成员std::begin
和std::end
。知道了这一点,任何对象都可以兼容基于范围的循环。
相关文章:
- 如何循环打印顶点结构
- 如何在C++中从两个单独的for循环中添加两个数组
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 正在尝试了解输入验证循环
- std::map<struct,struct>::find 找不到匹配项,但是如果我循环通过 begin() 到 end(),我在那里看到匹配项
- 循环后如何继续阅读
- Ardunio UNO解决了多个重叠的定时器循环
- Eigen如何在容器循环中干净地附加矩阵
- 在某些循环内使用vector.push_back时出现分段错误
- 我正在使用嵌套的while循环来解析具有多行的文本文件,但由于某种原因,它只通过第一行,我不知道为什么
- 为什么我的for循环不能正确获取argv
- 如何声明特征矩阵,然后通过嵌套循环初始化它
- while循环中while循环的时间复杂度是多少
- C++中的高效循环缓冲区,它将被传递给C样式数组函数参数
- 似乎无法使用<VERTEX>迭代器在 for 循环中打印列表顶点?C++
- 循环以将顶点保存在openGL中
- BGL:是否可以使用C++11的范围在图的顶点上循环
- 如果图中只有一个循环,如何找到无向图中哪些顶点是循环的
- 内在循环依赖C++顶点和向量
- 改变相邻顶点的值并移除自循环