我已经编写了以下代码(用于测试):
boost::property_tree::ptree ptRes;
boost::property_tree::ptree ptRes2;
boost::property_tree::ptree ptRes3;
boost::property_tree::ptree ptA;
boost::property_tree::ptree ptB;
boost::property_tree::ptree ptQ;
boost::property_tree::ptree ptZ;
boost::property_tree::json_parser::read_json("../a.json", ptA);
boost::property_tree::json_parser::read_json("../b.json", ptB);
ptRes.put_child("ptA", ptA);
ptRes.put_child("ptB", ptB);
boost::property_tree::json_parser::write_json("res.json", ptRes);
boost::property_tree::json_parser::read_json("../a.json", ptQ);
ptRes2.put_child("ptA", ptQ);
boost::property_tree::json_parser::read_json("../b.json", ptQ);
ptRes2.put_child("ptB", ptQ);
boost::property_tree::json_parser::write_json("res2q.json", ptRes2);
boost::property_tree::json_parser::read_json("../a.json", ptZ);
ptRes3.put_child("ptA", ptZ);
ptZ.clear();
boost::property_tree::json_parser::read_json("../b.json", ptZ);
ptRes3.put_child("ptB", ptZ);
boost::property_tree::json_parser::write_json("res3z.json", ptRes3);
但在所有3种情况下输出都是相同的。我的问题是我想创建一个包含其他3个
ptree
的ptree
,但我不确定如何做得更好(在json阅读部分):在不同的
ptree
中读取每个文件读取同一
ptree
中的每个文件读取同一
ptree
中的每个文件,但每次ptree
清除我在成员类型为
ptree
的类的构造函数中执行此操作,如果不需要,我将不会再创建3个ptree
。有什么建议么? 最佳答案
我认为更好的方法是使用本地ptree进行案例2,以填充类成员ptree。请注意,情况2和3实际上是相同的,因为as specified in the doc,ptree实例已清除。
关于c++ - Boost ptree重用是否需要清除?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24910272/