C++ forward_list::begin() 函式



C++ 的std::forward_list::begin()函式用於檢索指向forward_list容器第一個元素的迭代器。

如果當前forward_list為空,則begin()函式返回的迭代器等於end()函式的結果。在C++中,迭代器是一個可以迭代STL(標準模板庫)中元素並提供對單個元素訪問的物件。

語法

以下是C++ std::forward_list::begin()函式的語法:

iterator begin();

引數

  • 它不接受任何引數。

返回值

此函式返回指向第一個元素的迭代器。

示例 1

如果forward_list非空且為int型別,則begin()函式返回指向第一個元素的迭代器。

在以下示例中,我們使用C++ std::forward_list::begin()函式來檢索當前forward_list {1, 2, 3, 4, 5}的第一個元素的迭代器。

#include<iostream>
#include<forward_list>
using namespace std;
int main(){
   //create a forward_list
   forward_list<int> num_list = {1, 2, 3, 4, 5};
   cout<<"The num_list contents are: "<<endl;
   for(int n : num_list) {
      cout<<n<<endl;
   }
   //using the begin() function
   auto it = num_list.begin();
   cout<<"The iterator to the first element: "<<*it;
}

輸出

以下是上述程式的輸出:

The num_list contents are: 
1
2
3
4
5
The iterator to the first element: 1

示例 2

如果forward_list為char型別,則此函式返回指向此forward_list的第一個char元素的迭代器。

以下是C++ d::forward_list::begin()函式的另一個示例。在這裡,我們建立了一個名為char_list的forward_list(char型別),其內容為{'a', 'b', 'c', 'd', 'e'}。然後,使用begin()函式,我們嘗試檢索此forward_list第一個元素的迭代器。

#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 begin() function
   auto it = char_list.begin();
   cout<<"The iterator to the first element: "<<*it;
}

輸出

這將生成以下輸出:

The char_list contents are: 
a
b
c
d
e
The iterator to the first element: a

示例 3

使用for迴圈以及begin()函式遍歷容器並檢索從第一個元素開始的所有元素的迭代器。

在以下程式中,我們建立了一個名為fruits的forward_list(string型別),其內容為{"Apple", "Banana", "Orange", "Grapes"}。然後,使用for迴圈以及begin()函式遍歷此forward_list並檢索從第一個元素開始的所有元素的迭代器。

#include<iostream>
#include<forward_list>
using namespace std;
int main(){
   //create a forward_list
   forward_list<string> fruits = {"Apple", "Banana", "Orange", "Grapes"};
   cout<<"The iterator of all the elements are: "<<endl;
   for(auto it = fruits.begin(); it != fruits.end(); it++){
      cout<<*it<<endl;
   }
}

輸出

上述程式產生以下輸出:

The iterator of all the elements are: 
Apple
Banana
Orange
Grapes

示例 4

如果forward_list為空,則返回的迭代器等於end()函式的結果。

#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 begin() function
   auto it = fruits.begin();
   cout<<*it<<endl;
}

輸出

執行上述程式後,它將產生以下輸出:

The size of this forward_list is: 
0
The iterator of all the elements are: 
Segmentation fault (core dumped)
廣告

© . All rights reserved.