unordered_map的插入
时间: 2023-10-15 09:29:11 浏览: 93
unordered_map的插入可以使用insert函数或者下标操作符来完成。
使用insert函数:
```cpp
#include <unordered_map>
int main() {
std::unordered_map<int, std::string> myMap;
// 使用insert函数插入键值对
myMap.insert(std::make_pair(1, "One"));
myMap.insert(std::make_pair(2, "Two"));
myMap.insert(std::make_pair(3, "Three"));
return 0;
}
```
使用下标操作符:
```cpp
#include <unordered_map>
int main() {
std::unordered_map<int, std::string> myMap;
// 使用下标操作符插入键值对
myMap[1] = "One";
myMap[2] = "Two";
myMap[3] = "Three";
return 0;
}
```
无论使用哪种方式,键值对将被插入到unordered_map中。如果键已经存在,插入操作将被忽略。
相关问题
unordered_map插入
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()函数或者[]运算符,其中使用[]运算符可以更加简洁明了。
阅读全文