しばしば列(または任意の列挙オブジェクト)を反復するとき、我々だけでなく、現在の値に興味があるだけでなく、位置(インデックス)。スタイル上は、どのように私は、文字列を反復処理しても、インデックス(現在位置)を知ることができますか?
string str ("Test string");
string::iterator it;
int index = 0;
for (it = str.begin() ; it < str.end(); it++ ,index++)
{
cout << index << *it;
}
は、我々は両方のコンテンツを取得することができ、「C-スタイル」Rubyで
string str ("Test string");
for (int i = 0 ; i < str.length(); i++)
{
cout << i << str[i] ;
}
に優れていないようだようだ:string::iterator
を使用することによって、これを達成するために、我々は別のインデックスを維持する必要がかつエレガントな方法でインデックス:
"hello".split("").each_with_index {|c, i| puts "#{i} , #{c}" }
、列挙オブジェクトを反復処理しても、現在のインデックスを追跡するためにC++でのベストプラクティスは何ですか?このよう
例がいいです:P –