踏雪失踪 发表于 2022-6-1 21:10:08

关于map的键问题

怎么查看一个map中有没有这个键值对呢

傻眼貓咪 发表于 2022-6-1 21:24:53

什么意思?

踏雪失踪 发表于 2022-6-1 21:32:38

傻眼貓咪 发表于 2022-6-1 21:24
什么意思?

比如
map<int, int> map1;
map = 21;
map = 32;
我怎么能知道在这个map中没有键为13的键值对呢

傻眼貓咪 发表于 2022-6-1 21:35:02

map1.count(key) = 0 表示没有此键

傻眼貓咪 发表于 2022-6-1 21:35:55

#include <iostream>
#include <map>

using std::map, std::string;
using std::cout, std::endl;
int main(void) {

    map<string, int> dict;

    dict = {
      {"one", 1},
      {"two", 2},
      {"three", 3},
      {"four", 4},
      {"five", 5}
    };

    cout << dict.count("zero") << endl;

    return 0;
}0

踏雪失踪 发表于 2022-6-1 21:39:02

傻眼貓咪 发表于 2022-6-1 21:35


还有别的办法么

傻眼貓咪 发表于 2022-6-1 21:45:08

踏雪失踪 发表于 2022-6-1 21:39
还有别的办法么


#include <iostream>
#include <map>

using std::map, std::string;
using std::cout, std::endl;
int main(void) {

    map<string, int> dict;

    dict = {
      {"one", 1},
      {"two", 2},
      {"three", 3},
      {"four", 4},
      {"five", 5}
    };

    string key = "seven";

    cout
      << std::boolalpha
      << dict.contains(key) // C++20
      << endl;

    return 0;
}false
页: [1]
查看完整版本: 关于map的键问题