C++ vector::crbegin() 函式



C++ vector::crbegin() 是 C++ 中的一個內建函式,用於使用 const_reverse_iterator 獲取向量的最後一個元素。它返回一個指向向量最後一個元素(即反向開頭)的常量反向迭代器。crbegin() 函式的時間複雜度為常數。

返回的 const_reverse_iterator 是一個指向常量內容(向量)的迭代器,它可以像迭代器一樣增加或減少。但是,它不能用於更新或修改它指向的向量內容。

語法

以下是 C++ vector::crbegin() 函式的語法:

const_reverse_iterator crbegin() const noexcept;

引數

它不包含任何引數。

示例 1

讓我們考慮以下示例,我們將使用 crbegin() 函式加 3 來訪問向量的第四個元素。

#include <iostream>  
#include<vector>  
using namespace std;
 
int main(){  
   vector<int> myvector{12,23,34,45,56,67};  
   vector<int>::const_reverse_iterator x=myvector.crbegin()+3;  
   cout<<*x;  
   return 0;  
}

輸出

當我們編譯並執行上述程式時,將產生以下結果:

34

示例 2

在以下示例中,我們將使用 crbegin() 函式並訪問向量中的最後一個元素。

#include <iostream>  
#include<vector>  
using namespace std;
  
int main(){  
   vector<string> myvector{"Virat","Yuvraj","Padikkal","MSD"};  
   vector<string>::const_reverse_iterator x=myvector.crbegin();  
   cout<<*x;  
   return 0;
}

輸出

執行上述程式後,將產生以下結果:

MSD

示例 3

考慮以下示例,我們將使用 push_back() 插入元素並使用 crbegin() 函式獲取最後一個元素。

#include <iostream>
#include <vector>
using namespace std;

int main(){
   vector<int> myvector;
   myvector.push_back(123);
   myvector.push_back(234);
   myvector.push_back(456);
   vector<int>::reverse_iterator x;
   x = myvector.rbegin();
   cout << "The last element is: " << *x << endl;
   return 0;
}

輸出

執行上述程式後,將產生以下結果:

The last element is: 456

示例 4

檢視以下示例,當我們嘗試使用 crbegin() 函式修改值時,它會丟擲錯誤。

#include <iostream>
#include<vector>
using namespace std;
  
int main(){  
   vector<int> myvector{12,23,34,45,56};  
   vector<int>::const_reverse_iterator x=myvector.crbegin();  
   *x=67;  
   cout<<*x;  
   return 0;
} 

輸出

執行上述程式後,將產生以下結果:

Main.cpp:8:5: error
廣告