请说明bsoncxx::document::value
和bsoncxx::document::view
之间的区别。 view
只是value
类的代理吗?
答案 0 :(得分:1)
是的,view
是value
的代理。
答案 1 :(得分:1)
在bsoncxx库中,values
代表不可变资源的所有权,但不代表检查拥有的资源的能力。要检查拥有的资源,您可以从view
获取value
。这里的view
和value
类似于std::string
和std::string_view
之间的关系。通过将所有权方面的内容与检查方面分开,我们可以为API使用便宜的类型,而只需要查看数据,对于需要复制或接管资源所有权的API,可以使用更昂贵的API。