Ver Mensaje Individual
  #5 (permalink)  
Antiguo 25/11/2014, 05:18
Avatar de vangodp
vangodp
 
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 11 años, 1 mes
Puntos: 38
Respuesta: Dudas STL Vector

Cita:
Iniciado por lareto Ver Mensaje
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 :)
Gracias! Estoy leyendo todo lo que sea sobre vectores.
Esa página la utiliso mucho. Tambien stackoverflow que tienen muy buenos consejos y truquillos XDD