bsoncxx: document::view vs document::value

bsoncxx: document::view vs document::value

本文关键字:document value vs view bsoncxx      更新时间:2023-10-16

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

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

是的,viewvalue的代理。