我需要根据插入时间(或其他比这更有效的方法)从 std::map 中删除元素。
该地图可能会包含数千个元素,如果我存储时间并迭代地图以检查每个元素的时间,那么最终可能会非常耗时。
有谁知道如何在 std::map 变老时删除它们?
The std::map<>
type 不知道元素何时被插入。它仅用于保存键/值对映射。它也没有插入顺序的概念,因此它甚至无法提供相对类型的插入。
要执行您想要的操作,您需要在元素和插入时间之间添加关联。如果您想要的只是相对顺序,那么您可以使用std::queue
与地图配对。每次插入地图时,您都会插入std::queue
以及。队列前面的元素比后面的元素旧,您可以使用它来确定相对年龄
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)