C++ ticpp按相反顺序遍历节点

C++ ticpp按相反顺序遍历节点,c++,xml-parsing,iterator,C++,Xml Parsing,Iterator,我使用ticpp以一种简单的方式处理xml文件。但是,迭代器接口使用起来有点笨拙。。我假设没有办法以相反的顺序遍历某个父对象的子对象,对吗?() 迭代器接口确实有一个操作符--()。但是,在“end”迭代器上调用此函数会导致“访问冲突读取位置0x00000000”。我错过什么了吗?有没有快速的方法来处理这个问题 我目前考虑的解决方案是简单地遍历列表两次:首先将所有子项存储在std::array(这里array最好?)。。然后再次按相反顺序检查所有元素。但正如所说:我忍不住想我一定错过了一些功能…

我使用ticpp以一种简单的方式处理xml文件。但是,迭代器接口使用起来有点笨拙。。我假设没有办法以相反的顺序遍历某个父对象的子对象,对吗?()

迭代器接口确实有一个
操作符--()
。但是,在“end”迭代器上调用此函数会导致“访问冲突读取位置0x00000000”。我错过什么了吗?有没有快速的方法来处理这个问题


我目前考虑的解决方案是简单地遍历列表两次:首先将所有子项存储在
std::array
(这里array最好?)。。然后再次按相反顺序检查所有元素。但正如所说:我忍不住想我一定错过了一些功能….

事实证明,我错过了一些功能;我也可以使用tixml中基于节点的接口,而不是使用ticpp提供的迭代器接口。(ticpp只是一个抽象层)

以下循环允许的函数很少:

for(ticpp::Node* pchild(elem.LastChild()); 
    pchild != nullptr; 
    pchild = pchild->PreviousSibling(false)) {