Come si esegue iterazione su questo vettore C++?Come faccio a scorrere su un vettore di stringhe C++?
vector<string> features = {"X1", "X2", "X3", "X4"};
Come si esegue iterazione su questo vettore C++?Come faccio a scorrere su un vettore di stringhe C++?
vector<string> features = {"X1", "X2", "X3", "X4"};
C++ 11, che si sta utilizzando, se questo viene compilato, consente le seguenti:
for (string& feature : features) {
// do something with `feature`
}
This is the range-based for
loop.
Se non si desidera mutare la funzione, è può anche dichiararlo come string const&
(o solo string
, ma ciò causerà una copia non necessaria).
Prova questo:
for(vector<string>::const_iterator i = features.begin(); i != features.end(); ++i) {
// process i
cout << *i << " "; // this will print all the contents of *features*
}
Se si utilizza C++ 11, allora questo è troppo legale:
for(auto i : features) {
// process i
cout << i << " "; // this will print all the contents of *features*
}
Forse si intende '++ i' e non' i ++ '. –
In realtà è la stessa cosa. –
[No, non lo è!] (Http://stackoverflow.com/questions/24901/is-there-a-performance-difference-between-i-and-i-i-c) e dovresti usare un 'const_iterator' non è solo un' iteratore'. Questo è il codice della piastra della caldaia, dovresti impararlo bene e abbastanza bene da farlo bene anche se richiesto quando dormi. –
Sì, questo è un piuttosto banale da trovare. –