Beim Iterieren eines Strings (oder eines aufzählbaren Objekts) interessiert uns nicht nur der aktuelle Wert, sondern auch die Position (Index). Um dies zu erreichen, indem string::iterator
verwenden, haben wir einen separaten Index halten:Wie kann ich durch einen String iterieren und weiß auch den Index (aktuelle Position)?
string str ("Test string");
string::iterator it;
int index = 0;
for (it = str.begin() ; it < str.end(); it++ ,index++)
{
cout << index << *it;
}
Above Stil scheint nicht überlegen scheinen die 'c-style'
string str ("Test string");
for (int i = 0 ; i < str.length(); i++)
{
cout << i << str[i] ;
}
In Ruby können wir sowohl Inhalte erhalten und Index in einer eleganten Art und Weise:
"hello".split("").each_with_index {|c, i| puts "#{i} , #{c}" }
Also, was ist die beste Praxis in C++ durch ein zählbares Objekt iterieren und auch den Überblick über den aktuellen Index halten?
ein Beispiel wäre nett: P –