C++begin和end運算符的返回迭代器的類型如何判斷?
更新時間:2019年04月11日 11:49:31 投稿:gaoliang
今天小編就為大家分享一篇關于C++begin和end運算符的返回迭代器的類型如何判斷?,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
begin
和end
返回的具體類型應該由對象是否是常量進行確定,如果對象是常量,則這兩個函數返回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"); }
從輸出結果,可以很好的驗證上面的分析是正確的。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接
相關文章
json error: Use of overloaded operator [] is ambiguous錯誤的解決方
今天小編就為大家分享一篇關于json error: Use of overloaded operator [] is ambiguous錯誤的解決方法,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-04-04Qt中關聯容器QMap,QMultiMap,QHash,QMultiHash的使用
本文主要介紹了Qt中關聯容器QMap,QMultiMap,QHash,QMultiHash的使用,這些關聯容器在Qt中提供了靈活而強大的數據結構選項,根據具體的需求和使用場景,您可以選擇適合的容器來存儲和管理數據,感興趣的可以了解一下2023-09-09