在编程的上下文中,“拥有”是什么意思?
cppreference使用它来描述 std::string_view:
std::basic_string_view(C++17) -对字符串子序列的轻量级非拥有只读视图。
devtut
和
sodocumentation 也
使用它来描述 std::string_view :
C++17 引入了
std::string_view,它只是一个非拥有范围的
const chars,可实现为一对指针或一个指针和一个长度。
和这里的各种其他问题和答案参考它,但我找不到它的含义的任何解释。
回答
您可以拥有资源,即任何数量有限的东西。这通常是内存或系统句柄。拥有该资源的任何人都负责在使用完资源后将其释放。
std::unique_ptr并且std::shared_ptr是拥有包装器的示例。当它不再使用时,它会释放它们的内存。任何其他RAII类也是如此。
std::basic_string_viewis non-ownering,这是一个很好的说法,它不以任何方式绑定到字符串的实际生命周期,并且如果您不小心,如果字符串重新分配,它可能会悬挂。