亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

對c++ 中Iterator的疑惑

對c++ 中Iterator的疑惑

開心每一天1111 2019-03-02 03:03:19
對c++ 中Iterator的疑惑
查看完整描述

2 回答

?
一只名叫tom的貓

TA貢獻1906條經驗 獲得超3個贊

Iterator是訪問器,類似與指針,具有指針相似的功能,訪問器最重要的是給所有容器提供了一個通用的訪問方法,Iterator是模板類,比如有個vector
std::vector<int> vec;
//元素操作之類的
std::vector<int>::iterator it=vec.begin();
while(it!=vec.end())
{//do something}
STL可以得到源代碼,比如VC中有部分源代碼,GCC代碼實現比較好閱讀,還有STL port項目之類的

查看完整回答
反對 回復 2019-03-09
?
小唯快跑啊

TA貢獻1863條經驗 獲得超2個贊

int a[10]={1,2,3,4,5,6,7,8,9,10};
vector<int> v(a,a+9); //用數組初始化vector容器(a數組首指針,a+10數組尾指針的下一位)
vector<int>:: iterator it=v.begin(); //it是迭代器,指向v的第一個元素,相當于首指針
//begin()是vector自帶的函數,返回指向第一個元素的迭代器
cout<<*it; //會輸出1
it++; //迭代器自增,向后移動一個單位,結果是指向第二個元素
cout<<*it;//會輸出2

//下面看一個輸出容器全部元素的循環
for(vector<int>:: iterator it=v.begin();it!=v.end();++it){ //end()返回迭代器,指向最后一個元素的下一位
cout<<*it;
}

 



查看完整回答
反對 回復 2019-03-09
  • 2 回答
  • 0 關注
  • 723 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號