for_each

[機能]

  指定した範囲に,指定した関数による処理を適用します.関数 f は,
  void f(type n)
の形であり,type はコンテナの要素と一致している必要があります.

[形式]
#include <algorithm>

template <class InputIterator, class Function>
    Function for_each(InputIterator first, InputIterator last, Function f);		

[使用例]

  1. for_each,for_each_n の使用方法です.以下に示すプログラム例において,いくつかのコメント部分は,その上または下に記述された方法とほぼ同等なものであることを示しています(複数行の対応関係である場合もある).
    #include <stdio.h>
    #include <vector>
    #include <algorithm>
    
    using namespace std;
    
    void print(int n)
    {
    	printf("  %d", n);
    }
    
    int main()
    {
    	vector<int> v = {0, 1, 2, 3, 4};
    	printf("vector v の各要素 :");
    	for_each(v.begin(), v.end(), print);   // 関数
    	printf("\n");
    	printf("vector v の最初の 3 個の要素 :");
    	for_each_n(v.begin(), 3, print);
    	printf("\n");
    //	printf("vector v の最初の 3 個の要素 :");
    //	for_each_n(v.begin(), 3, [](int x){ printf("  %d", x); });   // ラムダ式
    //	printf("\n");
    
    	return 0;
    }
    			
    (出力)
    vector v の各要素 :  0  1  2  3  4
    vector v の最初の 3 個の要素 :  0  1  2
    vector v の最初の 3 個の要素 :  0  1  2			
[参照]

for_each_n

菅沼ホーム 本文目次 演習問題解答例 付録目次 索引