C++ for Schleife durch zweidimensionalen Vector?
Hey, ich habe einen std::vector A und möchte durch den zweiten Teilvector iterieren (also zB über A[x][0], A[x][1], ...), allerdings ist es immer unterschiedlich, wie viele Elemente dieser zweite Vector hat. Also A[x] hat zB 4 weitere Vectors und A[y] beispielsweise nur 1.
Wie iteriere ich denn über solche Vectors in C++?
3 Antworten
Vectoren unterstützten die Range-based for loop.
Die solltest du unbedingt einsetzen.
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Computer, programmieren
Meinst du sowas?
for(int i = 0; i < vector.size(); i++)
for(int j = 0; j < vector[j].size(); j++)
...vector[i][j]...
Mach es nicht wie in C, sondern wie in C++:
for (const auto & sub : vec) {
for (const auto & elem : sub) {
// Use elem here ...
}
}
Das dürfte die eleganteste Methode sein.
Woher ich das weiß:Berufserfahrung
Da solltest du aber ein paar mal "i" durch "j" ersetzen. ^^