【发布时间】:2012-03-19 21:05:07
【问题描述】:
我在使用 C++ 中的标准容器类(列表、地图等)时遇到了一些问题。问题似乎与移除容器的物品有关。我试图在容器中存储指向对象的指针,然后当我想从容器中删除项目时,我使用erase 或remove。当我这样做时,容器是否实际上删除了容器中的对象,或者只是从容器中删除了指针?
我希望它只是删除指针,因为我正在使用容器对对象进行分组,并且对象可能在多个组中,所以我不希望它在被删除时被删除来自容器!
谢谢!
【问题讨论】:
-
您可以通过在项目的析构函数中放入一些调试代码来检查自己,例如
std::cout语句。无论如何,“一些麻烦”究竟包括什么? -
感谢析构函数提示。很难找出问题所在,但最终与解释损坏的 UDP 消息和随机崩溃有关,而不是内存管理问题!只是想确保我正确理解了 C++ 容器类。谢谢!
标签: c++ list map containers std