我使用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 树中找到它。
如果在 C++ 中通过复制传递 lambda 函数,实际上会复制什么?
它只是一个指向 lambda 的指针吗?
或者整个捕获列表也会被复制吗?