我正在关注地图,
struct details;
map<std::string, details> myMap;
myMap.erase(“key”);// Why I cant do this in C++11?
这在java中很简单
Map<std::string, details> map
map.remove(“key");
如何使用密钥从std :: map中删除条目?
谢谢
答案 0 :(得分:0)
根据std::map::erase
的在线文档,在第3种形式中,可以使用密钥直接调用它。检查我的clang编译器,使用C ++ 98或C ++ 14作为标准,并且包括map
和string
头文件,它编译得很好。如果没有包含string
头文件,我会收到错误,这可能就是为什么它不适合你。
在任何情况下,作为替代方案,您可以在字符串上使用find
方法来获取迭代器,然后可以使用erase
方法,如下所示:
myMap.erase(myMap.find("key"));