Ver Mensaje Individual
  #2 (permalink)  
Antiguo 24/11/2014, 15:57
eferion
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 10 años, 1 mes
Puntos: 204
Respuesta: Dudas STL Vector

biVector.begin( ) te devuelve un iterador que apunta al primer elemento del vector. Un iterador puede considerarse a efectos como si de un puntero se tratase.

*biVector.begin( ) obtiene el elemento apuntado por el iterador, un vector de tipo <int>

&(*biVector.begin()) obtiene la referencia al elemento apuntado por el iterador.

Poner el * y el & te permite "eliminar" al iterador y quedarte únicamente con el vector apuntado por dicho iterador. Justo lo mismo que conseguirías si sustituyeses la llamada a la función por: foo( &biVector[0] );

En cuanto a los vectores bidimensionales... pues a ver, depende de los requisitos. Si el uso "en crudo" del vector bidimensional se te hace complicado quizás deberías plantearte encapsular el vector en una clase que proporcione una interfaz de acceso más clara y elegante.