アルゴリズム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を返します。}
これは、イテレータの使用法を示しています。