C++ std::map插入键值对
时间: 2024-10-15 18:02:46 浏览: 21
在C++中,`std::map` 是一个关联容器,它按照键(key)的值有序地存储数据。要插入键值对,有几种方法:
1. 使用 `insert()` 函数插入单个 pair[^1]:
```cpp
// 如果键不存在,插入新的键值对
_map.insert(std::make_pair(000, "student_zero")); // 插入键为000,值为"student_zero"
// 或者,如果知道键值类型,可以直接构造 pair
_map.insert(std::make_pair(001, "student_one")); // 插入键为001,值为"student_one"
```
2. 也可以使用索引操作符 `[]` 直接插入,但这会在键不存在时自动创建并初始化新项:
```cpp
// 如果键不存在,会插入新项
_map[123] = "student_first"; // _map现在包含了键为123的项
// 同理,对于已知键值
_map[456] = "student_second";
```
3. 如果尝试插入的键已经存在,你可以选择直接赋值,这相当于更新原有的键值:
```cpp
// 如果键200存在,更新其值为"booomm"
_map[200] = "booomm";
// 使用insert函数插入时,如果键已存在,会执行赋值操作
_map.insert(std::make_pair(4, "33333"));
```
4. 初始化 `std::map` 时,可以一次性插入多个键值对:
```cpp
// 创建空的map
map<int, string> mapStudent;
// 使用insert函数一次性插入多对
mapStudent.insert({000, "student_zero"});
mapStudent.insert({001, "student_one"});
```
记得在使用之前包含 `<map>` 头文件,并确保 `mapStudent` 已经定义为 `std::map<int, string>` 类型。
阅读全文