gpt4 book ai didi

c++ - 为什么 C++ 智能指针实现将引用计数器与指针一起保存在堆上?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:58:18 25 4
gpt4 key购买 nike

阅读 Alexandrescu 和 wikipipidia 我看到指针和引用计数器存储在堆上。然后提到引用计数效率低下,因为必须在堆上分配计数器?为什么不存储在堆栈中?

最佳答案

因为一旦智能指针的当前实例超出范围,您就会丢失它。

智能指针用于模拟动态分配的自动存储对象。智能指针本身是自动管理的。因此,当一个人被摧毁时,它存储在自动存储中的任何东西也会被摧毁。但是您不想丢失引用计数器。所以你将它存储在动态存储中。

关于c++ - 为什么 C++ 智能指针实现将引用计数器与指针一起保存在堆上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9283230/

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