unordered_map插入
时间: 2023-08-26 13:18:28 浏览: 47
unordered_map插入元素可以使用insert、emplace和赋值操作。当插入元素时,如果使用insert或emplace插入了两个key相同的元素,则insert会插入第二个元素,而emplace会拒绝插入第二个元素,只保留第一个元素。而赋值操作会直接修改已存在key对应的value,如果key不存在,则会插入新的key-value对。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [C++unordered_map的插入](https://blog.csdn.net/YourClerk/article/details/123967991)[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^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
相关问题
unordered_map 插入
unordered_map是C++ STL中的一个关联容器,其底层使用哈希表实现。unordered_map中的元素是无序的,但是可以通过键值来访问对应的值。
unordered_map中插入元素的方法为:使用insert()函数或者[]运算符。
使用insert()函数插入元素的方法为:
unorderd_map<int,string> map;
map.insert({1,"apple"});
map.insert(pair<int,string>(2,"banana"));
map.insert(make_pair(3,"orange"));
其中,{}中的内容表示一个pair对象,pair对象有两个成员,first和second。使用pair<int,string>时,first表示键值,second表示对应的值。make_pair()函数可以自动生成一个pair对象。
使用[]运算符插入元素的方法为:
unordered_map<int,string> map;
map[1] = "apple";
map[2] = "banana";
map[3] = "orange";
这种方法使用起来更加方便,直接通过中括号加键值来访问或者修改对应的值。如果键值不存在,会自动创建对应的键值对,并对应一个默认构造函数的值。
总之,unordered_map中的插入方法较为简单,可以根据具体情况选择使用insert()函数或者[]运算符,其中使用[]运算符可以更加简洁明了。
unordered_map插入元素
unordered_map是C++中的一个容器,用于存储键值对。要插入元素到unordered_map中,你可以使用insert函数或者使用下标操作符[]。
下面是使用insert函数插入元素的示例代码:
```cpp
#include <iostream>
#include <unordered_map>
int main() {
std::unordered_map<int, std::string> map;
// 使用insert函数插入元素
map.insert(std::make_pair(1, "Apple"));
map.insert(std::make_pair(2, "Banana"));
map.insert(std::make_pair(3, "Orange"));
// 遍历unordered_map
for (const auto& pair : map) {
std::cout << pair.first << ": " << pair.second << std::endl;
}
return 0;
}
```
输出结果为:
```
1: Apple
2: Banana
3: Orange
```
你也可以使用下标操作符[]来插入或更新元素。如果键不存在,下标操作符会创建一个对应的键值对并插入到unordered_map中。如果键已经存在,那么对应的值会被更新。
示例代码如下:
```cpp
#include <iostream>
#include <unordered_map>
int main() {
std::unordered_map<int, std::string> map;
// 使用下标操作符插入或更新元素
map[1] = "Apple"; map[2] = "Banana";
map[3] = "Orange";
// 遍历unordered_map
for (const auto& pair : map) {
std::cout << pair.first << ": " << pair.second << std::endl;
}
return 0;
}
```
输出结果与上面的示例相同。希望对你有所帮助!
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_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)