bsoncxx:document::view 对比 document::value
bsoncxx: document::view vs document::value
请解释bsoncxx::document::value
和bsoncxx::document::view
的区别。 view
只是 value
class 的代理吗?
是的,view
是 value
的代理。
在 bsoncxx 库中,values
代表不可变资源的所有权,但不代表检查所拥有资源的能力。要检查拥有的资源,您从 value
获得 view
。这里的view
和value
类似于std::string
和std::string_view
之间的关系。通过将所有权的各个方面与检查分开,我们可以有一个便宜的类型用于 API 只需要查看数据,而一个更昂贵的 API 用于我们需要复制或接管的时候资源所有权。
请解释bsoncxx::document::value
和bsoncxx::document::view
的区别。 view
只是 value
class 的代理吗?
是的,view
是 value
的代理。
在 bsoncxx 库中,values
代表不可变资源的所有权,但不代表检查所拥有资源的能力。要检查拥有的资源,您从 value
获得 view
。这里的view
和value
类似于std::string
和std::string_view
之间的关系。通过将所有权的各个方面与检查分开,我们可以有一个便宜的类型用于 API 只需要查看数据,而一个更昂贵的 API 用于我们需要复制或接管的时候资源所有权。