简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!
优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀
人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.
1.前言
本篇目的:C++之std::list::iterator迭代器应用实例。
List迭代器介绍
在C++中,list
是一个双向链表容器,可以用来存储和操作一系列的元素。迭代器是一种用于遍历容器的对象,它提供了对容器中元素的访问和操作。
对于list
容器,有两种类型的迭代器可用:iterator
和const_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迭代器遍历list
std::list<int>::iterator iter;
for (iter = myList.begin(); iter != myList.end(); ++iter) {
std::cout << *iter << " ";
}
return 0;
}