当前位置: 首页 > news >正文

C++之std::list<string>::iterator迭代器应用实例(一百七十九)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!

优质专栏:Audio工程师进阶系列原创干货持续更新中……】🚀

人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.

更多原创,欢迎关注:Android系统攻城狮

欢迎关注Android系统攻城狮

1.前言

本篇目的:C++之std::list::iterator迭代器应用实例。

List迭代器介绍
在C++中,list是一个双向链表容器,可以用来存储和操作一系列的元素。迭代器是一种用于遍历容器的对象,它提供了对容器中元素的访问和操作。

对于list容器,有两种类型的迭代器可用:iteratorconst_iterator。它们的功能相似,但 iterator 可以用于修改容器中的元素,而 const_iterator 则只能用于读取元素,不能修改。

使用迭代器可以按照顺序访问链表中的元素,并进行增加、删除和修改操作。以下是一些常用的迭代器操作:

  • begin():返回指向链表第一个元素的迭代器。
  • end():返回指向链表末尾(最后一个元素之后)的迭代器。
  • rbegin():返回指向链表末尾的逆向迭代器(指向最后一个元素)。
  • rend():返回指向链表开头的逆向迭代器(指向第一个元素之前的位置)。
  • ++:将迭代器向后移动一个位置。
  • --:将迭代器向前移动一个位置。
  • *:返回当前迭代器指向的元素的引用。

2.应用实例

v1.0

#include <iostream>
#include <list>
#include <string>typedef std::list<std::string>::iterator StringListIterator;int main() {std::list<std::string> names{"Alice", "Bob", "Charlie"};StringListIterator iter = names.begin();while (iter != names.end()) {std::cout << *iter << std::endl;++iter;}return 0;
}

v2.0

#include <iostream>
#include <list>int main() {// 创建一个list并初始化一些值std::list<int> myList;myList.push_back(10);myList.push_back(20);myList.push_back(30);myList.push_back(40);myList.push_back(50);// 使用iterator迭代器遍历liststd::list<int>::iterator iter;for (iter = myList.begin(); iter != myList.end(); ++iter) {std::cout << *iter << " ";}return 0;
}
http://www.lryc.cn/news/134594.html

相关文章:

  • VSCode好用的插件
  • js实现滚轮滑动到底部自动加载(完整版)
  • 如何限制PDF打印?限制清晰度?
  • python计算模板图像与原图像各区域的相似度
  • 阿里云云解析DNS核心概念与应用
  • 计算机竞赛 垃圾邮件(短信)分类算法实现 机器学习 深度学习
  • compositionAPI
  • vscode配置调试环境-windows系统
  • 智慧城市能实现嘛?数字孪生又在其中扮演什么角色?
  • 【置顶帖】关于博主/关于博客/博客大事记
  • 华为数通方向HCIP-DataCom H12-821题库(单选题:01-20)
  • Java【手撕双指针】LeetCode 11. “盛水最多的容器“, 图文详解思路分析 + 代码
  • vue3——递归组件的使用
  • 【爬虫练习之glidedsky】爬虫-基础1
  • 计算机视觉入门 1)卷积分类器
  • SpringBoot 配置优先级
  • 钢筋的形变屈服度测量
  • 【BASH】回顾与知识点梳理(三十七)
  • 智慧农场云养猪平台原来是这样的!
  • 【3Ds Max】可编辑多边形“边界”层级的简单使用
  • Rancher-RKE2-安装流程
  • OrienterNet: visual localization in 2D public maps with neural matching 论文阅读
  • iOS导航栏闪屏以及statusBar背景色的更改
  • Centos开启防火墙和端口命令
  • 基于微信小程序的宠物领养平台的设计与实现(Java+spring boot+微信小程序+MySQL)
  • Mongodb基础操作
  • 数据结构与算法:计算机科学的基石
  • 曲线救国 | 双非渣硕的秋招路
  • 气传导耳机怎么样?四款值得入手的气传导耳机推荐
  • HTML <svg> 标签