C ++ 11にはいくつかのベクトルトラバーサル方法

このようなベクターがあると仮定すると:

ベクター<整数>行= {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 
  }

  

 

おすすめ

転載: www.cnblogs.com/darklights/p/11484639.html