unordered_map怎么插入
时间: 2023-08-26 16:17:54 浏览: 82
您可以使用`unordered_map`的`insert`函数来插入键值对。下面是一个示例代码:
```cpp
#include <iostream>
#include <unordered_map>
int main() {
std::unordered_map<std::string, int> myMap;
// 使用insert函数插入键值对
myMap.insert(std::make_pair("key1", 1));
myMap.insert(std::make_pair("key2", 2));
myMap.insert(std::make_pair("key3", 3));
// 使用[]操作符也可以插入键值对
myMap["key4"] = 4;
// 遍历unordered_map并输出键值对
for (const auto& pair : myMap) {
std::cout << pair.first << ": " << pair.second << std::endl;
}
return 0;
}
```
在上面的示例中,我们创建了一个`unordered_map`对象`myMap`,然后使用`insert`函数插入了几个键值对。您还可以使用`[]`操作符来插入键值对,如示例中的`myMap["key4"] = 4;`。最后,我们遍历`unordered_map`并输出所有的键值对。
相关问题
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插入元素可以使用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 ]
阅读全文