STL使用auto关键词遍历容器详解

 更新时间:2025年09月17日 09:34:59   作者:深巷wls  
auto自动推断类型,简化遍历容器迭代器与范围循环,如遍历vector时,auto iter = vec.begin();或范围for循环auto& elem : vec,同样适用于map迭代器与元素遍历,提升代码简洁性与可读性

STL使用auto关键词遍历容器

简单来说,auto就是可以自己识别自己需要的类型并转变为它

举一下例子:

遍历vector

vector<int> line={1,2,3,4,5,6,7,8,9};
//定义一个vector

迭代器遍历

void showvec(const vector<int>& line) {
  for (vector<int>::const_iterator iter = line.cbegin();iter != line.cend(); iter++) {
    cout << (*iter) << endl;
  }
}

使用auto遍历

//第一种用法
void showvec(const vector<int>& line) {
  for (auto iter = line.cbegin(); iter != line.cend(); iter++) {
    cout << (*iter) << endl;
  }
}

//第二种用法
for (auto lin : line) {
    cout << lin;
  }

遍历map

#include <iostream>
#include <map>
#include <queue>
 
using namespace std;
 
int main()
{
    map<int, string> mp;
    mp.insert(pair<int,string>(2,"hello"));
    mp.insert(pair<int,string>(1,"miaomiaomiao"));
    mp.insert(pair<int,string>(3,"world"));
    
    for(auto &p : mp)
	    cout << p.first << endl; 
    return 0;
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Vscode中接入Deepseek的实现

    Vscode中接入Deepseek的实现

    本文主要介绍了Vscode中接入Deepseek的实现,包括登录Deepseek官网、申请APIKEY、安装和配置VSCode插件,具有一定的参考价值,感兴趣的可以了解一下
    2025-02-02
  • C++记录程序运行时间的四种方法

    C++记录程序运行时间的四种方法

    在学习过程中很重要的一个必会的小技巧:计算某一段代码的执行时间,可以用来分析代码的效率和算法的时间复杂度等等(个人主要是在总结各种排序算法时遇到的这个方法),本文给大家介绍了C++记录程序运行时间的四种方法,需要的朋友可以参考下
    2025-03-03
  • C语言小项目实战之通讯录功能

    C语言小项目实战之通讯录功能

    这篇文章主要介绍了如何设计和实现一个简单的通讯录管理系统,包括联系人信息的存储、增加、删除、查找、修改和排序等功能,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-01-01
  • C++通过msxml调用webservice示例分享

    C++通过msxml调用webservice示例分享

    这篇文章主要介绍了C++通过msxml调用webservice示例分享,需要的朋友可以参考下
    2014-03-03
  • VS2022 Git提交代码的实现

    VS2022 Git提交代码的实现

    本文主要介绍了VS2022 Git提交代码的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • VS2022创建Windows服务程序的方法步骤

    VS2022创建Windows服务程序的方法步骤

    本文主要介绍了VS2022创建Windows服务程序的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • QT实现提示右下角冒泡效果

    QT实现提示右下角冒泡效果

    这篇文章主要为大家详细介绍了QT实现提示右下角冒泡效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-08-08
  • C++中的Primer拷贝、赋值与销毁详解

    C++中的Primer拷贝、赋值与销毁详解

    这篇文章主要介绍了C++中的Primer拷贝、赋值与销毁方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-03-03
  • C语言中函数的声明、定义及使用的入门教程

    C语言中函数的声明、定义及使用的入门教程

    这篇文章主要介绍了C语言中函数的声明、定义及使用的入门教程,重点讲述了main函数的相关知识,需要的朋友可以参考下
    2015-12-12
  • C++项目基于HuffmanTree实现文件的压缩与解压缩功能

    C++项目基于HuffmanTree实现文件的压缩与解压缩功能

    这篇文章主要介绍了C++项目基于HuffmanTree实现文件的压缩与解压缩功能,本文给大家提到文件压缩的概念介绍及压缩方法,通过示例代码给大家介绍的非常详细,需要的朋友可以参考下
    2021-08-08

最新评论