【发布时间】:2020-08-27 06:19:19
【问题描述】:
std::map 是否将元素存储为std::pair?遍历 map 如下所示:
#include <map>
int main() {
std::map<int, char> m;
m[1] = 'A';
m[2] = 'B';
m[3] = 'C';
std::map<int, char>::iterator it;
for(it = m.begin(); it != m.end(); it++)
{
std::cout << "Key: " << it->first;
std::cout << " Value: " << it->second;
std::cout << std::endl;
}
}
【问题讨论】:
-
为什么不只看你的特定编译器的实现。并非所有供应商都使用相同的模板。模板的源代码通常在头文件中。
-
来自en.cppreference.com/w/cpp/container/map:“std::map 是一个排序的关联容器,其中包含具有唯一键的键值对。”。实际上,我会说:是的。从技术意义上说:不, std::map 实现只是提供了这样的迭代器(但我不是专家)。我不确定你在找什么?
标签: c++ stdmap std-pair internals