Wie iteriere ich über diesen C++ Vektor?Wie kann ich über einen Vektor von C++ - Strings iterieren?
vector<string> features = {"X1", "X2", "X3", "X4"};
Wie iteriere ich über diesen C++ Vektor?Wie kann ich über einen Vektor von C++ - Strings iterieren?
vector<string> features = {"X1", "X2", "X3", "X4"};
C++ 11, die Sie verwenden, wenn diese kompiliert, kann der folgende:
for (string& feature : features) {
// do something with `feature`
}
This is the range-based for
loop.
Wenn Sie möchten, dass das Feature nicht mutieren, Sie kann es auch als string const&
(oder nur string
, aber das wird eine unnötige Kopie verursachen).
Try this:
for(vector<string>::const_iterator i = features.begin(); i != features.end(); ++i) {
// process i
cout << *i << " "; // this will print all the contents of *features*
}
Wenn Sie C++ 11 verwenden, dann ist dies legal zu:
for(auto i : features) {
// process i
cout << i << " "; // this will print all the contents of *features*
}
Vielleicht meinen Sie "++ i" und nicht "i ++". –
Eigentlich ist es das Gleiche. –
[Nein, ist es nicht!] (Http://stackoverflow.com/questions/24901/is-there-a-performance-difference-between-i-and-i-in-c) und Sie sollten eine verwenden 'const_iterator' ist nicht nur ein' iterator'. Dies ist ein Kesselblech-Code. Sie sollten es gut und gut genug lernen, um es richtig zu machen, auch wenn Sie im Schlaf gefragt werden. –
Ja, dass man das ziemlich trivial zu finden. –