Ticpp以相反顺序遍历节点
ticpp traverse nodes in reverse order
我使用ticpp是为了方便地处理xml文件。然而,迭代器的接口使用起来有点笨拙。假设没有办法以相反的顺序遍历某个父节点的子节点,我是否正确?(文档)
迭代器接口有一个operator--()
。然而,在"end"迭代器上调用它会导致"读取位置0x00000000的访问冲突"。我错过什么了吗?有什么快速解决的办法吗?
我目前正在考虑的解决方案是简单地遍历列表两次:首先将所有子节点存储在std::array
中(数组在这里是最好的?)。然后再次按倒序检查所有元素。但是就像我说的:我忍不住想我一定错过了一些功能....
原来我错过了一些东西;我也可以使用来自tixml的基于节点的接口,而不是使用ticpp提供的迭代器接口。(ticpp只是一个抽象层)。
以下循环允许的函数很少:
for(ticpp::Node* pchild(elem.LastChild());
pchild != nullptr;
pchild = pchild->PreviousSibling(false)) {
相关文章:
- C++RapidXml-使用first_node()遍历以修改XML文件中节点的值
- 将树节点添加到向量向量中的 n 元树遍历的平均和最坏情况时间复杂度是多少?
- 在单链表前面添加一个节点后,我无法遍历每个节点
- Node中的子节点列表在C++中的BFS遍历过程中丢失
- 如何遍历具有两个节点的链接节点
- 光标和节点的AST遍历之间有什么区别
- 遍历仅引用每个节点的子节点的树
- 快速XML遍历节点
- BFS遍历图节点两次
- 如何找到在无向图中遍历最多节点的路径
- 提升图遍历显示节点"hidden"
- 使用级别顺序遍历将节点插入二叉树
- 递归后序遍历解除分配二叉树节点
- 跟踪节点遍历调用 std::map::find
- 无法遍历树 - 节点被重新遍历了大量次,但仍然是非循环的
- 遍历链表并修改或插入节点C++
- 在c++中使用按顺序遍历的BST中节点的秩
- 我可以遍历一个在析构函数中带有头节点的链表吗?
- 通过引用遍历节点的惯用方法
- Ticpp以相反顺序遍历节点