このようなベクターがあると仮定すると:
ベクター<整数>行= {1,2,3,4,5,6,7,8,9}。
次のようにベクトルの各要素を出力する必要があり、主な機能は次のとおりです。
ボイドshowvec(constのベクトル<整数>&ライン) { } int型のmain(int型ARGC、チャー** ARGV){ ベクトル<整数>行= {1、2、3、4、5、6、7、8、9} ; showvec(ライン)。 0を返します。 }
方法:ループの繰り返し出力のための
空showvec(constのベクトル<整数>&ライン){ のために(ベクトル<整数> :: const_iteratorのITER = line.cbegin();!ITER = line.cend(); ITER ++){ coutの<<(* ITER)<< endl; } }
またはC ++の新しいセマンティックオートを使用して
空showvec(constのベクトル<整数>&ライン){ のための(自動ITER = line.cbegin(); ITER = line.cend();!ITER ++){ coutの<<(* ITER)<<てendl; } }
方法2:for_eachプラス機能
テンプレート<型名T> ボイドプリンタ(CONST T&ライン){ COUT <<ライン。 coutの<<てendl; } ボイドshowvec(constのベクトル<整数>&ライン){ for_each(line.cbegin()、line.cend()、プリンタ<整数>)。 }
方法3:移動範囲について
{(ライン自動LIN)は 、COUT << LIN }