请全屏阅读哦~
map,翻译为映射。书上都说的不是很通俗(反正我是没看懂),它的作用如下:
对于两个不同类型的变量之间建立一种联系,(就像搭了一座桥),调用的时候用迭代器实现,下面上代码。
map <string, int> mp;//把一个 string 型的 数据映射成 int 型,在这里说可能不是很清楚,看下面的的例题哦~
// mp 是定义 map 数组的经典用名,没有其他别的意思
迭代器:
map <string, int> :: iterator it; // 定义一个 it 的迭代器用来访问 map 中的值
/* 前面就是把你定义时写的那一堆 copy 下来*/
it 它是不可以写成小于或大于的,它只可以判断等于或者不等于迭代器 it 其实就是一个地址,它也可以进行 it++ 或 it-- 等操作。赋初值一般为 :it = mp.begin(); 就是把 it 的初值赋成 mp 的最开始的值。*it 在这里是不支持的,但是可以用 it->first 或者 it->second 来访问 mp 之中的第一个与第二个,在上面那道题中,
it->first 就是访问的 string 型的,而 it->second 就是访问的 int 型的。
举个栗子:
string a;
cin >> a;
map <string, int> :: iterator it;
for (it = mp.begin(