我们可以从静态unordered_map中删除键/值对吗?

问题描述 投票:0回答:1

在C ++类中,我有一个静态的unordered_map。我需要从unordered_map中删除一个键值对。有可能这样做吗?我尝试使用erase(),但无法删除。据我所知,我们无法更改静态成员,但我需要删除该对。如果不可能,那么我应该创建一个新的unordered_map,对其执行所有操作,然后将其分配给静态unordered_map吗?

c++ static unordered-map
1个回答
0
投票

示例,键= 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;
    }

}
© www.soinside.com 2019 - 2024. All rights reserved.