C++begin和end運算符的返回迭代器的類型如何判斷?

今天小編就爲大家分享一篇關於C++begin和end運算符的返回迭代器的類型如何判斷?,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

beginend返回的具體類型應該由對象是否是常量進行確定,如果對象是常量,則這兩個函數返回const_iterator;

如果對象不是常量,則這個函數返回iterator類型。下面利用一個超級簡單的小程序進行驗證二者的類型,源代碼如下:

#include <iostream> 
#include <vector>
using namespace std;  
int main() 
{ 
 vector<int> ivec;
 const vector<int> cv;
 auto it1 = ivec.begin();
 auto it2 = cv.begin();
 cout<<typeid(it1).name()<<endl;
 cout<<typeid(it2).name()<<endl;
 system("pause");
}

從輸出結果,可以很好的驗證上面的分析是正確的。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對神馬文庫的支持。如果你想了解更多相關內容請查看下面相關鏈接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章