bsoncxx:文档::视图与文档::值

时间:2018-09-28 11:53:13

标签: c++ bson mongo-cxx-driver

请说明bsoncxx::document::valuebsoncxx::document::view之间的区别。 view只是value类的代理吗?

2 个答案:

答案 0 :(得分:1)

是的,viewvalue的代理。

答案 1 :(得分:1)

在bsoncxx库中,values代表不可变资源的所有权,但不代表检查拥有的资源的能力。要检查拥有的资源,您可以从view获取value。这里的viewvalue类似于std::stringstd::string_view之间的关系。通过将所有权方面的内容与检查方面分开,我们可以为API使用便宜的类型,而只需要查看数据,对于需要复制或接管资源所有权的API,可以使用更昂贵的API。