C ++ for_each()アルゴリズム
for_each()アルゴリズムは非常に柔軟性があり、それはあなたにアクセスする別の方法を可能にする、プロセス、以降C ++ 11から、すべての要素を変更し、ループをより便利に、より自然な動作を提供するために、したがって、for_each()は、おそらく安定浸食されますその重要性。
algostuff.hpp
#ifndefのALGOSTUFF_HPP の#define ALGOSTUFF_HPP 書式#include <配列> の#include <ベクトル> の#include <両端キュー> の#include <リスト> 書式#include <forward_list> 書式#include < 設定 > 書式#include <マップ> 書式#include <unordered_set> 書式#include <unordered_map> 書式#include <アルゴリズム> 書式#include <反復子> 書式#include <機能> の#include <数値> の#include <iostreamの> の#include < 文字列 > // 添加元素を設定する テンプレート<typenameにT> インライン無効 INSERT_ELEMENTS(T&コル、int型まず、int型最終) { 以下のための(int型 ; I <=最後; ++ iの最初= I) { coll.insert(coll.end()、I); } } // 出力集合の要素 テンプレート<型名T> インラインボイド PRINT_ELEMENTS(CONST T&コル、CONST STD :: 文字列&optcstr = "" ) { std :: coutの << optcstr。 以下のための(:高専自動ELEM) { std :: coutの << elemは<< ' ' ; } std :: coutの << はstd ::てendl; } // 要素の出力地図 テンプレート<typenameにT> インライン無効 PRINT_MAPPED_ELEMENTS(のconst T&コル、constの STD :: 文字列&optcstr = "" ) { std :: coutの << optcstr。 以下のための(:高専自動ELEM) { std :: coutの << " [ " << elem.first << " " << elem.second << " ] " ; } std :: coutの << はstd ::てendl; } #endifの // !ALGOSTUFF_HPP
main.cppに
#include 「algostuff.hpp 」 使用して 名前空間はstdを、 int型のmain() { ベクトル < int型 > VEC1。 INSERT_ELEMENTS(VEC1、1、12 )。 for_each(vec1.cbegin()、vec1.cend()、 [](のInt 要素) { coutの << elemは<< " " ; }); システム(「一時停止」)。 リターン 0 ; }
1 2 3 4 5 6 7 8 9 10 11 12
続行するには何かキーを押し...
参照コード:C ++標準ライブラリ(第2版)
参照コード:C ++標準ライブラリ(第2版)
参照コード:C ++標準ライブラリ(第2版)
参照コード:C ++標準ライブラリ(第2版)