我想知道以下两种方式在Rapidjson中的区别,我已经尝试阅读rapidjson doc,但仍然对此感到困惑。

1. doc.AddMember("tag", tag_str, doc.GetAllocator());
2. doc.AddMember("tag", rapidjson::Value(tag_str).Move(), doc.GetAllocator());


我想知道两种用法之间的区别,谢谢。

最佳答案

1. doc.AddMember("tag", tag_str, doc.GetAllocator());


这会通过常量引用将tag_str添加到文档中。因此tag_str必须比文档寿命更长。

2. doc.AddMember("tag", rapidjson::Value(tag_str).Move(), doc.GetAllocator());


这会将tag_str值复制到Value对象中,然后将其移动到文档中。

关于c++ - 在Rapidjson中使用Move,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47157542/

10-13 23:50