std::map<uint16_t, std::string> park_info; 怎么向map插入数据
时间: 2024-09-12 16:14:42 浏览: 50
C++11 std::shared_ptr总结与使用示例代码详解
在C++中,`std::map` 是一个基于键值对的关联容器,它存储的元素是键值对,并且这些键值对是按键的顺序进行排序的。要向 `std::map` 中插入数据,可以使用 `insert` 方法或者 `operator[]` 进行操作。
以下是两种常见的插入数据的方法:
1. 使用 `operator[]`:
`operator[]` 可以返回与指定键关联的值的引用。如果键不存在,它会自动创建一个新的键值对,并用默认构造的对象初始化值。例如:
```cpp
std::map<uint16_t, std::string> park_info;
park_info = "公园1";
park_info = "公园2";
```
如果键 1 和键 2 还不存在于 `park_info` 中,它们将被插入,键 1 对应的值将被设置为 `"公园1"`,键 2 对应的值将被设置为 `"公园2"`。
2. 使用 `insert` 方法:
`insert` 方法用于将新元素插入到 `map` 中。它可以插入单个元素,也可以插入一个范围内的元素。例如:
```cpp
std::map<uint16_t, std::string> park_info;
std::pair<uint16_t, std::string> new_park(1, "公园1");
park_info.insert(new_park);
```
这里创建了一个 `std::pair` 对象,其中包含键和值,并使用 `insert` 方法将其插入到 `park_info` 中。
在大多数情况下,如果你只是想插入一个新元素或者更新一个已存在元素的值,使用 `operator[]` 是方便的。如果你需要插入多个元素或者在插入过程中需要更细致的控制,使用 `insert` 方法会更适合。
阅读全文