C++ Forward_list::cend() 函式



C++ 的std::forward_list::cend()函式用於檢索指向forward_list容器中最後一個元素之後元素的常量迭代器。

這個forward_list的元素充當佔位符;嘗試訪問它會導致未定義的行為。在C++中,迭代器是一個可以迭代STL(標準模板庫)容器中的元素並提供對單個元素訪問的物件。迭代器的主要優點是為所有容器型別提供了一個公共介面。

語法

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

const_iterator cend() const;

引數

  • 它不接受任何引數。

返回值

此函式返回指向最後一個元素之後元素的常量迭代器。

示例 1

如果forward_list是int型別,則cend()函式返回指向容器中最後一個元素之後元素的常量迭代器。

在下面的程式中,我們使用C++ std::forward_list::cend()函式來檢索指向當前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 cend() function
   auto it = num_list.cend();
   cout<<"The constant iterator following the last element is: "<<*it;
   return 0;
}

輸出

讓我們編譯並執行上面的程式,這將產生以下結果:

The num_list contents are: 
1
2
3
4
5
Segmentation fault

示例 2

使用for迴圈以及cend()函式來檢索容器中所有最後一個元素之後元素的常量迭代器。

以下是C++ std::forward_list::cend()函式的另一個示例。在這裡,我們建立一個名為char_list的forward_list(型別為char),其內容為{'a', 'b', 'c', 'd', 'e'}。然後,我們使用for迴圈以及cend()函式遍歷容器,並檢索此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'};
   int size = distance(char_list.begin(), char_list.end());
   cout<<"The size of the char_list forward_list is: "<<size<<endl;
   //using cend() function
   cout<<"The constant iterator of all the elements are: "<<endl;
   for(auto it = char_list.begin(); it != char_list.cend(); it++){
      cout<<*it<<endl;
   }
}

輸出

以下是上述程式的輸出:

The size of the char_list forward_list is: 5
The constant iterator of all the elements are: 
a
b
c
d
e

示例 3

除了int型別和char型別的forward_list元素外,我們還可以檢索string型別forward_list元素的迭代器。

在這個程式中,我們建立一個名為languages的forward_list(型別為string),其內容為{"HTML", "CSS", "JavaScript", "C++", "Java"}。然後,我們使用for迴圈以及cend()函式遍歷容器,並檢索此forward_list中所有最後一個元素之後元素的常量迭代器。

#include<iostream>
#include<forward_list>
using namespace std;
int main() {
   //create a forward_list
   forward_list<string> languages = {"HTML", "CSS", "JavaScript", "C++", "Java"};
   int size = distance(languages.begin(), languages.end());
   cout<<"The size of the vowels forward_list is: "<<size<<endl;
   //using cend() function
   cout<<"The constant iterators of an elements are: "<<endl;
   for(auto it = languages.begin(); it != languages.cend(); it++){
      cout<<*it<<endl;
   }
}

輸出

這將生成以下輸出:

The size of the vowels forward_list is: 5
The constant iterators of an elements are: 
HTML
CSS
JavaScript
C++
Java
廣告
© . All rights reserved.