【问题标题】:Boost's property tree: deleting a child knowing its pathBoost的属性树:删除一个知道其路径的孩子
【发布时间】:2015-03-05 15:15:24
【问题描述】:

是否可以从路径已知的属性树中轻松删除子项(及其最终的子项)?

以下

auto child = ptree.get_child(path);
child.clear();

实际上并没有删除孩子,而只是删除了它的内容。

erase 成员函数采用迭代器或键。我不知道有一种简单的方法可以找到与路径对应的迭代器,而不必遍历树。

可以通过在点字符处拆分路径并eraseing 其余部分来找到“根”子级。但是有没有更容易/更短的到达那里的方法?

【问题讨论】:

    标签: c++ boost-propertytree


    【解决方案1】:

    你可以这样做:ptree.get_child("path.to").erase("child"); 请注意,这会删除路径“path.to”及其子子级中名为“child”的所有节点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-20
      • 1970-01-01
      相关资源
      最近更新 更多