我是使用属性树通过 boost 解析 json 的新手。
如果我有这个散列:
foo = {'test1',true}
ptree pt;
bool v = pt.get<bool>("test2");
我需要检查一个 key 是否存在,如果不存在则将其设置为 false。
我该如何优雅地做到这一点?
谢谢
最佳答案
// bool optional
boost::optional<bool> v = pt.get_optional<bool>("test2");
// any type actually
boost::optional<std::string> v2 = pt.get_optional<std::string>("test3");
if (v) // key exists
bool bool_value = v.get();
else // not exists
v.set(false);
关于c++ - Boost C++ 属性 - 如果键不存在则设置为 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15017873/