std :: vector ze std :: vectors contiguity
wiem tostd::vector<T>
wewnętrznie przechowuje dane w sposób ciągły (chyba że tak jeststd::vector<bool>
) oba w starymC++03
standard i nowyC++11
.
Ładne pytania dotyczące przepływu stosu, które zajmują się tym i cytują standard:odpowiedź, odpowiedź.
Co z danymi wewnątrz wektorów zagnieżdżonychstd::vector <std::vector <T> >
? Jak to jest przechowywane?
Jeśli każdy wektor wewnętrzny musi przechowywać swoje dane w sposób ciągły, jak to może być prawdą&v[n] == &v[0] + n for all 0 <= n < v.size()
.
Aby wyrazić to nieco inaczej, czy można uzyskać dostępwszystkie elementy przechowywane w takiej zagnieżdżonej strukturze „po prostu” i kolejno (za pomocą wskaźnika lub podobnego) w taki sam sposób, w jaki można to zrobić dla wektora 1-D?