在C ++类中,我有一个静态的unordered_map
。我需要从unordered_map
中删除一个键值对。有可能这样做吗?我尝试使用erase()
,但无法删除。据我所知,我们无法更改静态成员,但我需要删除该对。如果不可能,那么我应该创建一个新的unordered_map
,对其执行所有操作,然后将其分配给静态unordered_map
吗?
示例,键= int,值= std :: string:
#include <unordered_map>
#include <string>
#include <iostream>
int main(){
std::unordered_map<int, std::string> map;
map[1] = "one";
map[2] = "two";
std::cout << "Before erase:" << std::endl;
for(auto keyValue : map ) {
std::cout << keyValue.first << ";" << keyValue.second << std::endl;
}
map.erase(map.find(1));
std::cout << "After erase:" << std::endl;
for(auto keyValue : map ) {
std::cout << keyValue.first << ";" << keyValue.second << std::endl;
}
}