Lor*_*kon 6 c++ move rapidjson
我使用rapidjson有以下内容
rapidjson::Value parent;
parent.SetObject();
rapidjson::Value child;
child.SetObject();
parent.AddMember("child", child, document.GetAllocator());
Run Code Online (Sandbox Code Playgroud)
问题是当我调用时parent.AddMember(),库使我的child变量无效,因为 Rapidjson 使用移动语义。
child当它被移动时,我如何仍然保留对该值的引用?
理想情况下,我想保留对child节点的引用,以便以后可以修改它,而不必在 JSON 树中找到它。
不特定于rapidjson:
当你有一个对象的引用child,并且其所拥有的资源child通过移动转移到另一个对象时,该引用child仍然有效,但所引用的对象不再是拥有该资源的对象。
您不能使原始引用变量引用另一个对象。但是,如果在移动指向的对象时更改指针的值,则可以改用指针或引用包装器。
我不熟悉rapidjson,但是通过简要浏览文档,您至少可以用来parent.FindMember获取对新创建的成员的引用,并更新指向该成员的指针。
| 归档时间: |
|
| 查看次数: |
107 次 |
| 最近记录: |