gpt4 book ai didi

c++ - 内存管理和 C++ 容器类

转载 作者:太空宇宙 更新时间:2023-11-04 15:50:25 25 4
gpt4 key购买 nike

我在使用 C++ 中的标准容器类(列表、 map 等)时遇到了一些问题。问题似乎与移除容器的项目有关。我试图在容器中存储指向对象的指针,然后当我想从容器中删除项目时,我使用 eraseremove。当我这样做时,容器实际上是删除了容器中的对象,还是只是从容器中删除了指针?

我希望它只是删除指针,因为我正在使用容器对对象进行分组,并且对象可能在多个组中,所以我不希望它在删除时被删除来自容器!

谢谢!

最佳答案

When I do this, does the container actually delete the object that was in the container, or simply remove the pointer from the container?

后者。

... so I don't want it to be deleted when it's removed from a container!

事实上是这样,但我还是要指出std::shared_ptr ,这可以使指针/容器交互更加容易。

关于c++ - 内存管理和 C++ 容器类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9515039/

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