Ver Mensaje Individual
  #4 (permalink)  
Antiguo 24/11/2014, 19:25
lareto
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Dudas STL Vector

Un vector es un contenedor con una característica particular: sus elementos ocupan posiciones sucesivas en memoria. Es por eso que el engendro mutante ese funciona.

void foo(std::vector<int> *vptr);
dice que foo es una función que toma un puntero a un vector de int;
luego
vptr[2][2]
es posible porque en realidad ese puntero es la dirección donde comienza el vector bidimensional a la que se le suman las 6 posiciones de los primeros dos vectores de enteros, y luego dos más.

Una expresión equivalente sería:
(*vptr)[0]+8

Pero seguramente nadie que no esté jugando a las adivinanzas pondría semejante basura en código real.

Vas a encontrar una buena referencia sobre vectores (y en general, sobre la biblioteca estándar del C++) en:
http://www.cplusplus.com/reference/vector/vector/

:lareto :)