如何迭代提升属性树?

2022-01-10 00:00:00 xml iterator c++ boost-propertytree

我知道正在接近 boost 属性树,并看到它是用于 c++ 编程的 boost 库的一个很好的特性.

I am know approaching to boost property tree and saw that it is a good feature of boost libs for c++ programming.

嗯,我有一个疑问?如何使用迭代器或类似方法迭代属性树?

Well, I have one doubt? how to iterate a property tree using iterators or similar?

在参考中只是一个浏览树的例子:

In reference there is just an example of browsing the tree through:

BOOST_FOREACH

但是没有别的了吗?类似于 stl 的容器之类的东西?这将是一个更好的解决方案,谈到代码质量......

But is there nothing more? Something like an stl-like container? It would be a better solution, speaking about code quality....

推荐答案

BOOST_FOREACH只是一种方便的迭代方式,可以通过iterator、begin()和end()来完成

BOOST_FOREACH is just a convenient way for iterating that can be done by iterator, begin() and end()

Your_tree_type::const_iterator end = tree.end();
for (your_tree_type::const_iterator it = tree.begin(); it != end; ++it)
    ...

从 C++11 开始就是:

And since C++11 it's:

for (auto& it: tree)
    ...

相关文章