std :: vector of std :: vectors contiguity
Yo sé esostd::vector<T>
almacena internamente sus datos de forma contigua (a menos que seastd::vector<bool>
) tanto en el viejoC++03
estándar y lo nuevoC++11
.
Las preguntas agradables de stackoverflow que tratan esto y citan el estándar:responder, responder.
¿Qué pasa con los datos dentro de vectores anidados?std::vector <std::vector <T> >
? ¿Cómo se almacena eso?
Si cada vector interno necesita almacenar sus datos de forma contigua, ¿cómo puede ser cierto que&v[n] == &v[0] + n for all 0 <= n < v.size()
.
Para expresar esto ligeramente diferente, ¿es posible acceder?todos los elementos almacenado en dicha estructura anidada "simplemente" y secuencialmente (a través de un puntero o similar) de la misma manera que se puede hacer para un vector 1-D?