C++中map容器的 map[]用法
时间: 2023-12-19 22:05:19 浏览: 89
在C++中,map是一个关联容器,它将键值对存储为一个有序序列。map提供了多种访问元素的方式,其中之一就是使用`[]`运算符。
`map[key]`的用法是通过键来访问对应的值。如果键存在于map中,则返回与该键关联的值;如果键不存在,则会自动插入一个新的键值对,并返回默认值(根据值类型的不同,可能是0、空字符串或默认构造的对象)。
下面是一个示例代码,演示了map的`[]`用法:
```cpp
#include <iostream>
#include <map>
int main() {
std::map<int, std::string> myMap;
// 插入键值对
myMap[1] = "Hello";
myMap[2] = "World";
// 访问值
std::cout << myMap[1] << std::endl; // 输出: Hello
std::cout << myMap[2] << std::endl; // 输出: World
// 自动插入新的键值对
std::cout << myMap[3] << std::endl; // 输出: 空字符串
return 0;
}
```
在上述示例中,我们首先插入了两个键值对,然后通过`[]`运算符访问了这两个键对应的值。最后,我们使用了一个未在map中出现过的键3,它会自动插入到map中,并返回一个空字符串作为默认值。
需要注意的是,在使用`[]`运算符访问map时,如果键不存在,会自动插入新的键值对,这可能会改变map的大小和结构。因此,在使用`[]`之前,最好先使用`count()`或`find()`函数来检查键是否存在。
阅读全文