c++ - 插入对作为映射值

标签 c++ stl map

typedef pair<unsigned char, unsigned char> pair_k;
map<unsigned char, pair_k> mapping;

会这样使用:

mapping[100] = make_pair(10,10);

问题是:

  1. 这是允许的吗?从语法上来说,感觉还不错。
  2. 这会作为数组而不是 map 进行访问吗?

最佳答案

我觉得还可以。但请注意,这不是数组访问;不是;它只是看起来像,因为 std::map 重载了 operator[]。如果之后执行 mapping.size(),您会发现它将是 1

关于c++ - 插入对作为映射值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5990919/

相关文章:

c++ - 如果在此调用之前未创建 abcd,那么 `std::map<..> a; blah = a[abcd];` 线程安全吗?

c++ - 释放 std::list 成员

c++ - 在 STL 中将 char 缓冲区附加到 vector<char>

java - 通过索引检索 Map 的键

java多映射arraylist

c++ - 以 C++11 风格进行类型转换的正确方法?

c++ - 将可调用对象传递给成员函数

c++ - 从函数返回值

c++ - 看不懂具体的代码片段 : Is this a function, 只是一行还是什么?

c++ - 查看 map c++中是否有键