我想知道以下两种方式在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/