在无序地图中替换元素

Replace element in an unordered map

本文关键字:替换 元素 地图 无序      更新时间:2023-10-16

我有一个无序的地图,键中的枚举和content in content_ptr。

初始化地图时,我使用这样的emplace:

this->_menu.emplace(BINDINGS, std::shared_ptr<AMenu>(new BindingMenu("Player 1"));

,但是我想知道我是否可以替换(在同一位置(,用另一个bindingmenu对象:

std::shared_ptr<AMenu>(new BindingMenu("Player 2")

谢谢

如 @jarod42所述,您可以使用操作员[]

在地图中访问元素
this->_menu[BINDINGS] = std::shared_ptr<AMenu>(new BindingMenu("Player 2"));

如果您要访问的元素尚不存在,它将被创建。

更多信息在此处http://www.cplusplus.com/reference/unordered_map/unordered_map/operator []/