SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: Solenbum en Sábado 20 de Octubre de 2007, 13:41

Título: Accer A Pos X De Un Vector Creado Por Stl?
Publicado por: Solenbum en Sábado 20 de Octubre de 2007, 13:41
(C++

Es decir en un vector normal yo declararia
int vec[10];
y de
vec[0] ahsta [9] podria ver o manipular cualquier posicion

pero usando la declaracion
#include <vector>

vector<int> vec;

solo veo la forma de por ejemplo al inster por el final o demas  pero no acceder a una posicion en concreto para ver o manipular en un vector creado mediante STL/vector

como se hace¿¿
Título: Re: Accer A Pos X De Un Vector Creado Por Stl?
Publicado por: Eternal Idol en Sábado 20 de Octubre de 2007, 15:07
Lo primero es un array y lo segundo es un objeto de la clase vector de la STL.

Podes referenciar cada elemento tal como si fuera un array: vec[0], vec[1] por ejemplo. Otra manera muy comun es usar iterators:

Código: Text
  1.  
  2.   vector &#60;int&#62; vec;
  3.   vec.insert(vec.begin(), 24);
  4.   vec.push_back(55);
  5.   for (vector&#60;int&#62;::iterator it = vec.begin(); it != vec.end(); it++)
  6.   {
  7.       cout &#60;&#60; *it &#60;&#60; endl;
  8.   }
  9.  
  10.  

En la msdn tenes documentacion y ejemplos:
http://msdn2.microsoft.com/en-us/library/9...bzs(VS.80).aspx (http://msdn2.microsoft.com/en-us/library/9xd04bzs(VS.80).aspx)
http://msdn2.microsoft.com/en-us/library/c...87y(VS.80).aspx (http://msdn2.microsoft.com/en-us/library/cscc687y(VS.80).aspx)
http://msdn2.microsoft.com/en-us/library/c...7hw(VS.80).aspx (http://msdn2.microsoft.com/en-us/library/ct1as7hw(VS.80).aspx)
Título: Re: Accer A Pos X De Un Vector Creado Por Stl?
Publicado por: SteelX en Domingo 21 de Octubre de 2007, 20:20
Cómo un complemento para lo que dijo Eternal también puedes usar la funcion at() que provee el objeto vector

http://www.cplusplus.com/reference/stl/vector/at.html (http://www.cplusplus.com/reference/stl/vector/at.html)
Título: Re: Accer A Pos X De Un Vector Creado Por Stl?
Publicado por: Solenbum en Lunes 22 de Octubre de 2007, 21:44
muchas gracias