std::map的插入
时间: 2023-10-24 19:32:35 浏览: 107
std::map是C++标准库中的一个关联容器,用于存储键值对。插入操作是将一个键值对添加到std::map中的过程。
关于std::map的插入操作,有几种方法可以实现。
一种常用的插入方法是使用insert函数。insert函数有多个重载形式。其中一种是使用insert函数插入一个键值对到std::map中,并返回一个std::pair对象,表示插入是否成功。这个函数的原型为std::pair<iterator,bool> insert(const value_type& value)。其中,value_type是std::map中键值对的类型,iterator是指向插入位置的迭代器,bool表示插入是否成功。
另一种插入方法是使用初始化列表。自C++11以后,std::map也支持使用初始化列表插入多个键值对。这个方法的原型为void insert(std::initializer_list<value_type> ilist)。其中,ilist是键值对的初始化列表。
下面是一个示例代码,演示了如何使用insert函数和初始化列表插入键值对到std::map中:
#include <map>
#include <iostream>
int main() {
std::map<int, std::string> mapTest;
mapTest = "test1";
mapTest = "test2";
// 使用insert函数插入键值对
mapTest.insert(std::make_pair(3, "test3"));
mapTest.insert(std::pair<int, std::string>(4, "test4"));
// 使用初始化列表插入键值对
mapTest.insert({5, "test5"});
mapTest.insert({6, "test6"});
for (auto it = mapTest.begin(); it != mapTest.end(); ++it) {
std::cout << it->first << " " << it->second.c_str() << std::endl;
}
return 0;
}
上述代码中,首先创建了一个std::map对象mapTest,并通过使用下标运算符给mapTest添加了两个键值对。然后,使用insert函数和初始化列表分别插入了两个键值对。最后,使用迭代器遍历mapTest,并输出键值对的内容。输出结果为:
1 test1
2 test2
3 test3
4 test4
5 test5
6 test6<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [STD::map 插入insert详解](https://blog.csdn.net/qq_34999565/article/details/119907094)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* [std::map 如何插入键值对](https://blog.csdn.net/u011417605/article/details/50883775)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文