我希望std::map insert()
函数的行为取决于要插入的对是否已经在地图中 - 如果不是,照常插入它,如果它已经存在,则增加存储在second
对的 a 中的计数器。我如何在不额外查询存在的情况下做到这一点(因为无论如何插入都会查询它)?
我正在跟踪很多事件记录,每个记录都包含source
和receiver
ID。事件存储为std::vector
. 我还试图维护字典sources
和receivers
记录,std::map
因为first
该对(键)的位置包含 ID,而second
包含一些source
信息以及std::vector
跟踪所有引用该 ID 的事件source
。
因此,当事件引用当前不存在时source
,插入应该正常进行,但如果引用source
已经在字典中,则插入应该将引用事件编号添加到std::vector
现有字典元素。