c++map函数的first和second
时间: 2023-04-24 12:06:08 浏览: 252
C++中的map是一种关联容器,用于将键映射到值。map中的每个元素都由一个键和一个值组成。当使用map的迭代器访问元素时,可以使用first成员函数获取元素的键,使用second成员函数获取元素的值。
相关问题
C++map函数中second和first怎么用,举个例子
C++ 的 map 函数中的 first 表示键值,second 表示对应的值。我们可以通过 map 的迭代器来访问它们。下面是一个简单的例子:
```
#include <iostream>
#include <map>
using namespace std;
int main() {
map<string, int> mp;
mp["apple"] = 1;
mp["banana"] = 2;
mp["coconut"] = 3;
// 遍历 map
for (auto it = mp.begin(); it != mp.end(); ++it) {
// 访问键值和对应的值
cout << "Key: " << it->first << ", Value: " << it->second << endl;
}
return 0;
}
```
在这个例子中,我们定义了一个字符串到整数的 map,然后向里面添加了三个元素。最后,我们使用迭代器来遍历这个 map,访问每个键值和对应的值。
c++ map erase函数
C++中的map是一种关联式容器,它提供了一种将键映射到值的方法。erase()函数是map容器中的一个成员函数,用于删除map中的元素。以下是erase()函数的使用方法和示例:
1. erase()函数的使用方法:
```c++
map.erase(key); // 删除map中键为key的元素
map.erase(iterator); // 删除迭代器指向的元素
map.erase(first, last); // 删除[first, last)区间内的所有元素
```
2. erase()函数的示例:
```c++
#include <iostream>
#include <map>
using namespace std;
int main() {
map<int, int> b;
b[1] = 5;
b[2] = 6;
b[3] = 7;
b[4] = 8;
// 删除键为2的元素
b.erase(2);
// 删除键为奇数的元素
for (auto iter = b.begin(); iter != b.end();) {
if (iter->first % 2 == 1) {
iter = b.erase(iter);
} else {
++iter;
}
}
// 输出剩余元素
for (auto x : b) {
cout << x.first << " " << x.second << endl;
}
return 0;
}
```
输出结果为:
```
4 8
```
阅读全文