C++ forward_list::cbegin() 函数



C++ 的 std::forward_list::cbegin() 函数用于获取指向 forward_list 容器第一个元素的常量迭代器。

如果当前 forward_list 为空,则 cbegin() 函数返回的常量迭代器等于 end() 函数的结果。在 C++ 中,迭代器是一个可以遍历 STL(标准模板库)中元素并访问单个元素的对象。

语法

以下是 C++ std::forward_list::cbegin() 函数的语法:

const_iterator cbegin() const;

参数

  • 它不接受任何参数。

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

返回值

此函数返回指向第一个元素的常量迭代器。

示例 1

如果 forward_list 非空且为 int 类型,则 cbegin() 函数返回指向第一个元素的常量迭代器。

在下面的示例中,我们使用 C++ std::forward_list::cbegin() 函数来获取当前 forward_list {10, 20, 30, 40, 50} 的第一个元素的常量迭代器。

Open Compiler
#include<iostream> #include<forward_list> using namespace std; int main(){ //create a forward_list forward_list<int> num_list = {10, 20, 30, 40, 50}; cout<<"The num_list contents are: "<<endl; for(int n : num_list) { cout<<n<<endl; } //using the cbegin() function auto it = num_list.cbegin(); cout<<"The constant iterator to the first element: "<<*it; }

输出

以下是上述程序的输出:

The num_list contents are: 
10
20
30
40
50
The constant iterator to the first element: 10

示例 2

如果 forward_list 为 char 类型,则此函数返回指向此 forward_list 的第一个 char 元素的常量迭代器。

以下是 C++ d::forward_list::cbegin() 函数的另一个示例。在这里,我们创建一个名为 char_list 的 forward_list(类型为 char),其内容为 {'A', 'B', 'C', 'D', 'E'}。然后,使用 cbegin() 函数,我们尝试获取此 forward_list 的第一个元素的常量迭代器。

Open Compiler
#include<iostream> #include<forward_list> using namespace std; int main() { //create a forward_list forward_list<char> char_list = {'A', 'B', 'C', 'D', 'E'}; cout<<"The char_list contents are: "<<endl; for(char c : char_list) { cout<<c<<endl; } //using the cbegin() function auto it = char_list.cbegin(); cout<<"The constant iterator to the first element: "<<*it; }

输出

这将生成以下输出:

The char_list contents are: 
A
B
C
D
E
The constant iterator to the first element: A

示例 3

使用 for 循环以及 cbegin() 函数遍历容器并获取从第一个元素开始的所有元素的常量迭代器。

在下面的程序中,我们创建一个名为 colors 的 forward_list(类型为 string),其内容为 {"Red", "Green", "Blue", "Black"}。然后,使用 for 循环以及 cbegin() 函数遍历此 forward_list 并获取从第一个元素开始的所有元素的常量迭代器。

Open Compiler
#include<iostream> #include<forward_list> using namespace std; int main(){ //create a forward_list forward_list<string> colors = {"Red", "Green", "Blue", "Black"}; cout<<"The iterator of all the elements are: "<<endl; for(auto it = colors.cbegin(); it != colors.end(); it++){ cout<<*it<<endl; } }

输出

上述程序产生以下输出:

The iterator of all the elements are: 
Red
Green
Blue
Black

示例 4

如果 forward_list 为空,则返回的常量迭代器等于 end() 函数的结果。

Open Compiler
#include<iostream> #include<forward_list> using namespace std; int main(){ //create a forward_list forward_list<string> fruits = {}; cout<<"The size of this forward_list is: "<<endl; cout<<distance(fruits.begin(), fruits.end())<<endl; cout<<"The iterator of all the elements are: "<<endl; //using the cbegin() function auto it = fruits.cbegin(); cout<<*it<<endl; }

输出

让我们编译并运行上述程序,这将产生以下结果:

The size of this forward_list is: 
0
The iterator of all the elements are: 
Segmentation fault
广告