21xrx.com
2024-11-05 16:42:53 Tuesday
登录
文章检索 我的文章 写文章
C++中unordered_map的插入操作
2023-07-04 21:53:42 深夜i     --     --
C++ unordered_map 插入操作

C++中unordered_map是一种哈希表容器,可以存储键值对,并可以根据key快速进行查找。unordered_map的插入操作可以帮助我们将新的键值对存储到unordered_map中。

unordered_map的插入操作有多种方式,我们可以通过使用insert函数或者emplace函数进行操作。此外,我们还可以使用下标操作符[]来插入键值对。

下面我们介绍具体的插入方式。

1.使用insert函数

insert函数有多种形式,其中最常用的形式是插入一个pair对象,pair的第一个元素表示键,第二个元素表示值。

示例代码:


#include <unordered_map>

#include <iostream>

using namespace std;

int main(){

  unordered_map<int, string> map1;

  

  //插入一个pair对象

  map1.insert(make_pair(1, "one"));

  map1.insert(pair<int, string>(2, "two"));

  //插入一组键值对

  map1.insert(3);

  return 0;

}

2.使用emplace函数

emplace函数会在unordered_map的尾部添加一个元素,该元素的键由传入的参数决定,值则由传入的参数构造得到。

示例代码:


#include <unordered_map>

#include <iostream>

using namespace std;

int main(){

  unordered_map<int, string> map1;

  //插入一个键值对

  map1.emplace(1, "one");

  //插入一个元素

  map1.emplace(2, "two");

  return 0;

}

3.使用下标操作符[]

使用下标操作符[]可以将一个键值对插入到unordered_map中。当插入的键已存在时,会更新该键对应的值。

示例代码:


#include <unordered_map>

#include <iostream>

using namespace std;

int main(){

  unordered_map<int, string> map1;

  //插入一个键值对

  map1[1] = "one";

  //更新一个键对应的值

  map1[1] = "new one";

  return 0;

}

总的来说,unordered_map中插入操作非常灵活,我们可以根据实际需求进行选择。如果只需插入一个键值对,那么emplace函数和insert(make_pair)函数都可以满足。如果需要同时插入多个键值对,那么可以使用insert({})语法。最后,使用下标操作符[]可以更方便地进行键值对的插入和更新。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复