Я написал следующий код (для тестирования):
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);
но результат одинаковый во всех трех случаях. Моя проблема в том, что я хочу создать ptree
который содержит 3 других ptree
и я не уверен, как это сделать лучше (в части чтения json):
ptree
ptree
ptree
, но каждый раз, когда ptree
Я делаю это в конструкторе класса, который имеет член типа ptree
и я бы не создал еще 3 ptree
если не был нужен. Какие-либо предложения?
Я думаю, что лучший способ - сделать случай 2 с локальным ptree, чтобы заполнить член класса ptree. Обратите внимание, что случаи 2 и 3 на самом деле одинаковы, поскольку, как указано в документе, экземпляр ptree очищается.
clear()
или нет?