c++list容器的访问方式
时间: 2024-10-23 18:18:43 浏览: 12
C++语言 STL容器list总结
5星 · 资源好评率100%
C++中的`std::list`是一个双向链表容器,它提供了一种动态、随机访问的存储结构,允许元素在列表的开头、中间或结尾高效地插入和删除。以下是`list`容器的主要访问方式:
1. **迭代器**:`list`使用迭代器(iterator)作为主要的访问手段。你可以通过`begin()`和`end()`函数获取到列表的起始迭代器和结束迭代器,然后使用迭代器的`++`操作符来遍历列表。
```cpp
list<int> numbers = {1, 2, 3, 4, 5};
for (auto it = numbers.begin(); it != numbers.end(); ++it) {
cout << *it << " ";
}
```
2. **索引访问**:虽然不像数组那样可以直接通过索引来访问元素,但是从C++17开始,`list`也支持类似的行为,使用`at()`函数可以按索引查找元素,但这个操作是安全的(不会抛出异常),如果索引越界则会返回默认值(对于引用类型则是空引用)。
```cpp
int firstElement = numbers.at(0);
```
3. **直接修改**:你可以直接通过迭代器或索引修改元素,比如添加、删除或更新。
```cpp
numbers.push_back(6); // 添加到末尾
numbers.erase(numbers.begin()); // 删除第一个元素
numbers[2] = 8; // 更新第三个元素
```
阅读全文