📅  最后修改于: 2023-12-03 14:39:52.812000             🧑  作者: Mango
C++ STL(Standard Library)是C++标准库中提供的一套通用的、高效的、可重用的数据结构和算法集合,其中包括vector容器。vector是一种线性数据结构,它基于动态数组实现,支持随机访问、在尾部快速添加和删除元素、动态扩容、自动内存管理等特性。
vector容器提供了两个方法 cbegin() 和 cend(),用于返回一个指向vector容器中第一个元素和最后一个元素后面位置的const迭代器,可以用于遍历容器中的元素。
vector<T>::const_iterator cbegin() const;
vector<T>::const_iterator cend() const;
其中,T表示vector容器所存储元素的数据类型,const_iterator是迭代器类型,这里返回的是指向常量元素的迭代器,即只能读取vector容器中的元素,不能修改。
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> v = {1, 2, 3, 4, 5};
cout << "使用cbegin和cend遍历vector: ";
for (auto it = v.cbegin(); it != v.cend(); ++it) {
cout << *it << " ";
}
cout << endl;
cout << "使用const auto&遍历vector: ";
for (const auto& x : v) {
cout << x << " ";
}
cout << endl;
return 0;
}
这段代码定义了一个包含5个整数的vector容器v,然后分别使用cbegin和cend方法遍历v容器中的元素,并输出到标准输出流。同时,还使用C++11中的foreach语法(const auto& x : v)遍历容器,用于简化代码,提高可读性。
输出结果为:
使用cbegin和cend遍历vector: 1 2 3 4 5
使用const auto&遍历vector: 1 2 3 4 5
可以看到,两种遍历方法都正确地输出了vector容器中的元素。