有人可以给我一些详细的解释吗?最好能举例说明。 谢谢 最佳答案 如果某个代码负责删除指针或将所有权转移给其他人,则该指-6ren">
gpt4 book ai didi

c++ - 如何解释这条语句 "A pointer in a function should not represent ownership"

转载 作者:太空狗 更新时间:2023-10-29 19:40:49 26 4
gpt4 key购买 nike

基于 this

Stroustrup 建议“函数中的指针不应表示所有权”

问题> 有人可以给我一些详细的解释吗?最好能举例说明。

谢谢

最佳答案

如果某个代码负责删除指针或将所有权转移给其他人,则该指针由某些代码“拥有”。各种智能指针实现了明确的所有权模型。 shared_ptr 表示多段代码拥有一个指针。 unique_ptr 表示只有一段代码拥有该指针。

他的意思是,如果一个函数有一个裸指针(一个不在智能指针中的指针),它应该被认为拥有它。如果要声明此指针的某些所有权,则应该为其提供一个智能指针作为参数,或者它应该将使用 new 创建的指针存储在智能指针中。

他说只有智能指针拥有指针。如果函数将裸指针作为参数,则它不会声明对该指针的所有权。如果函数返回一个裸指针,不能声明对该指针的所有权。

关于c++ - 如何解释这条语句 "A pointer in a function should not represent ownership",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9608150/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com