c++ map[ ]
时间: 2023-12-18 07:29:05 浏览: 32
C++是一种通用的编程语言,它支持面向对象、过程化和泛型编程风格。而C++中的map是一种关联式容器,它提供了一种将键映射到值的方法。map中的元素是按照键的大小自动排序的,因此可以快速地查找和访问特定的元素。
在C++中,map是一个模板类,定义在头文件<map>中。map的定义方式如下:
```
template < class Key, class T, class Compare = less<Key>,
class Allocator = allocator<pair<const Key,T> > > class map;
```
其中,Key是键的类型,T是值的类型,Compare是比较函数的类型,Allocator是分配器的类型。默认情况下,map使用std::less作为比较函数,使用std::allocator作为分配器。
map中的元素是以键值对的形式存储的,可以使用下标运算符[]来访问或修改元素的值。例如:
```
#include <iostream>
#include <map>
using namespace std;
int main()
{
map<string, int> myMap;
myMap["apple"] = 1;
myMap["banana"] = 2;
myMap["orange"] = 3;
cout << "apple: " << myMap["apple"] << endl;
cout << "banana: " << myMap["banana"] << endl;
cout << "orange: " << myMap["orange"] << endl;
return 0;
}
```
输出结果为:
```
apple: 1
banana: 2
orange: 3
```
如果访问不存在的键,则会自动插入一个新的键值对。例如:
```
cout << "grape: " << myMap["grape"] << endl;
```
输出结果为:
```
grape: 0
```
因为"grape"这个键不存在,所以会自动插入一个新的键值对,值为0。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)