gpt4 book ai didi

c++ - 对象从容器中删除自身

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:24:30 25 4
gpt4 key购买 nike

所以我有一个容器(任何类型,可能是 std::map 或 std::vector),它包含一个类的对象,其中一些网络事物在线程中运行,检查它是否仍然连接(线程在内部定义)该类并在构造时启动)。

有什么方法可以让对象在断开连接时从容器中删除自身,还是应该将线程移到对象外部并使用该类来存储数据?

最佳答案

为了让对象从容器中删除自己,它必须知道它在哪个容器中。您需要在对象中维护一个指向容器的指针。您还必须使用锁来保护容器,以阻止多个线程同时访问容器。

我想我更喜欢你的第二个解决方案——一些管理对象在从集合中删除死对象后进行处理。如果不出意外,这将更容易调试,并且锁定逻辑集中在单个对象中。

关于c++ - 对象从容器中删除自身,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/862093/

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