最佳答案
如果某个代码负责删除指针或将所有权转移给其他人,则该指针由某些代码“拥有”。各种智能指针实现了明确的所有权模型。 shared_ptr
表示多段代码拥有一个指针。 unique_ptr
表示只有一段代码拥有该指针。
他的意思是,如果一个函数有一个裸指针(一个不在智能指针中的指针),它应该不被认为拥有它。如果要声明此指针的某些所有权,则应该为其提供一个智能指针作为参数,或者它应该将使用 new
创建的指针存储在智能指针中。
他说只有智能指针拥有指针。如果函数将裸指针作为参数,则它不会声明对该指针的所有权。如果函数返回一个裸指针,您不能声明对该指针的所有权。
关于c++ - 如何解释这条语句 "A pointer in a function should not represent ownership",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9608150/