迭代器和下標之間轉換

2021-09-28 21:14:41 字數 359 閱讀 1722

轉換主要是使用stl中的advance和distance函式來進行的,

advance是將iterator移動指定個元素,distance是計算兩個iterator直接的距離。

distance計算第乙個引數到第二個引數之間的距離。如果第二個引數的順序在第乙個引數前面的話,函式是會返回負值的;如果迭代器不在乙個容器內,程式會丟擲異常。

advance是將第乙個引數向後移動第二個引數指定個元素。如果第二個引數為負,則向前移動;如果向前或向後移動超出容器範圍,則丟擲異常。

#include

#include

#include

using namespace std;

int main ()

STL中通過迭代器得知下標值

stl中要通過迭代器得知下標值,需要用到distance 函式。distance 函式用於計算兩個迭代器表示的範圍內包含元素的個數,其語法格式如下 template typename iterator traits difference type distance inputiterator fir...

迭代器和反向迭代器,常量迭代器和非常量迭代器

迭代器的型別共有4種 iiterator,const iterator,reverse iterator,const reverse iterator include include include include using namespace std int main include inclu...

迭代(iterable)和迭代器

任何可迭代物件都可以作用於for迴圈,包括我們自定義的資料型別,只要符合迭代條件,就可以使用for迴圈 d 對dict迭代 for k,v in d.items 如果要同時迭代key和value,可以用for k,v in d.items print k,v 預設情況下,dict迭代的是key 如果...