Qianfeng c ++ _STLライブラリイテレータ(1)アルゴリズムでのfor_eachとイテレータの併用

アルゴリズムfor_eachでのイテレータの使用

アルゴリズムでは、for_eachはトラバーサルを意味します。Organizationfor_each
InIt _First、InIt _Last、_Func)
ここで、_Firstと_Lastは関連するイテレーターパラメーターであり、_Funcは関数のエントリアドレスパラメーターです。

for_eachここで、forはループを表し、eachはそれぞれを表し、このアルゴリズムはトラバーサルを表します。
関数をトラバースするために必要な操作がわからないため、アクション関数を自分で記述し、その関数エントリアドレスをfor_eachに渡す必要があります。

たとえば、void print(int a)
{ cout << a << endl; } for_each(it_start、it_end、print);関連するアルゴリズムのクラステンプレートが含まれています。



ここに画像の説明を挿入

関連する実験コード:
#include
#include
#include <string.h>
#include

名前空間stdを使用します。

void print(int a){ cout << a << endl; }

void example(void){ vector v; v.push_back(1); v.push_back(2); v.push_back(3); v.push_back(4);




vector<int>::iterator it_start = v.begin();
vector<int>::iterator it_end = v.end();

/ * for(; it_start!= it_end; it_start ++){ cout << * it_start << ""; } * / for_each(it_start、it_end、print); //渡される印刷は関数のエントリアドレスです。



cout << endl;

}

int main(){ example(); 0を返します。}


これは、イテレータの使用法を示しています。

おすすめ

転載: blog.csdn.net/qq_45788043/article/details/108857676