¿Cómo puedo iterar sobre este vector de C++?¿Cómo puedo iterar sobre un vector de cadenas de C++?
vector<string> features = {"X1", "X2", "X3", "X4"};
¿Cómo puedo iterar sobre este vector de C++?¿Cómo puedo iterar sobre un vector de cadenas de C++?
vector<string> features = {"X1", "X2", "X3", "X4"};
C++ 11, que está utilizando si esto compila, permite lo siguiente:
for (string& feature : features) {
// do something with `feature`
}
This is the range-based for
loop.
Si no desea mutar la función, también puede declararlo como string const&
(o simplemente string
, pero eso causará una copia innecesaria).
Prueba esto:
for(vector<string>::const_iterator i = features.begin(); i != features.end(); ++i) {
// process i
cout << *i << " "; // this will print all the contents of *features*
}
Si está utilizando C++ 11, entonces esto es legal también:
for(auto i : features) {
// process i
cout << i << " "; // this will print all the contents of *features*
}
Quizás quiera decir '++ i' y no' i ++ '. –
En realidad es lo mismo. –
[¡No, no lo es!] (Http://stackoverflow.com/questions/24901/is-there-a-performance-difference-between-i-and-i-in-c) y deberías estar usando un 'const_iterator' no es simplemente un' iterator'. Este es el código de la placa de la caldera, debe aprenderlo bien y lo suficientemente bien para hacerlo bien, incluso si se lo pide cuando está dormido. –
Sí, de que uno bastante trivial para encontrar. –