IT虾米网

c++之Rapidjson中Move的使用

shanyou 2025年05月04日 程序员 87 0

我想知道以下两种方式之间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 对象中,然后将其移动到文档中。


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!