admin 管理员组

文章数量: 1184232


2024年3月8日发(作者:input not supported 监控视频)

unordered_map简单用法

1. unordered_map概述

unordered_map是C++标准库中的一个关联容器,它提供了高效的键值对的存储和访问方式。与普通的map相比,unordered_map不会对存储的键值对进行排序,因此在插入、查找和删除操作上更快,适用于需要快速查找和插入的场景。

2. unordered_map的基本用法

2.1 创建unordered_map对象

使用unordered_map之前,首先需要包含头文件``,然后可以使用以下语法创建一个unordered_map对象:

```cpp

std::unordered_mapmyMap;//创建一个空的unordered_map对象

```

其中,`key_type`和`value_type`分别代表了键和值的类型,可以根据具体需求进行替换。

2.2 插入键值对

unordered_map使用`insert()`函数插入键值对,如下所示:

```cpp

(std::make_pair(key,value));//插入键值对(key,value)

```

2.3 访问和修改值

使用`[]`操作符可以访问和修改unordered_map中的值,如下所示:

```cpp

myMap[key]=value;//修改键key对应的值为value

value=myMap[key];//获取键key对应的值

```

2.4 删除键值对

使用`erase()`函数可以删除unordered_map中的键值对,如下所示:

```cpp

(key);//删除键为key的键值对

```

2.5 判断键是否存在

可以使用`count()`函数来判断给定键是否存在于unordered_map中,如下所示:

```cpp

if((key)>0){

//键key存在

//...

}else{

//键key不存在

//...

}

```

3. unordered_map的遍历

unordered_map可以使用迭代器进行遍历,遍历的方法有多种。

3.1 使用迭代器遍历

使用`begin()`和`end()`函数获取unordered_map的开始和结束迭代器,然后可以使用循环遍历整个unordered_map,如下所示:

```cpp

for(autoit=();it!=();++it){

autokey=it->first;//获取键

autovalue=it->second;//获取值

//处理键值对

//...

}

```

3.2 使用范围基于for循环遍历

C++11引入的范围基于for循环可以更加简洁地遍历unordered_map,如下所示:

```cpp

for(constauto&pair:myMap){

autokey=;//获取键

autovalue=;//获取值

//处理键值对

//...

}

```

4. 总结

unordered_map是C++中一个强大且高效的关联容器,通过使用unordered_map,我们可以方便地进行键值对的存储、访问和删除。在需要快速查找和插入的场景下,unordered_map是一个很好的选择。

希望本文能够帮助读者理解unordered_map的简单用法,并在具体的项目开发中实践运用。如需更详细的信息,请参考C++标准库相关文档。

以上就是unordered_map简单用法的介绍,希望对您有所帮助!


本文标签: 键值 遍历 使用 插入