Foros del Web » Programación para mayores de 30 ;) » C/C++ »

[SOLUCIONADO] [Consulta]Tile Map.¿Mejor std::vector o array?

Estas en el tema de [Consulta]Tile Map.¿Mejor std::vector o array? en el foro de C/C++ en Foros del Web. Cita: Iniciado por kutcher - Un vector no almacena sus datos en posiciones de memoria continua. ... No, no; no es así. El estándar C++ ...

  #31 (permalink)  
Antiguo 10/02/2015, 09:28
lareto
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: [Consulta]Tile Map.¿Mejor std::vector o array?

Cita:
Iniciado por kutcher Ver Mensaje
- Un vector no almacena sus datos en posiciones de memoria continua. ...
No, no; no es así.
El estándar C++ dice en 23.3.6 Class template vector que un vector (que no sea de bool) satisface los requerimientos de un contiguous container. Y eso quiere decir:
A contiguous container is a container that supports random access iterators (24.2.7) and whose member types iterator and const_iterator are contiguous iterators
Que viene a ser
Iterators that further satisfy the requirement that, for integral values n and dereferenceable iterator values a and (a + n), *(a + n) is equivalent to *(addressof(*a) + n)

O sea: salvo los vectores de bool, que no lo requieren, el estándar garantiza que un vector almacene sus elementos en posiciones contiguas de memoria.
  #32 (permalink)  
Antiguo 10/02/2015, 09:54
 
Fecha de Ingreso: julio-2012
Mensajes: 375
Antigüedad: 12 años, 4 meses
Puntos: 28
Respuesta: [Consulta]Tile Map.¿Mejor std::vector o array?

Cita:
Iniciado por lareto Ver Mensaje
O sea: salvo los vectores de bool, que no lo requieren, el estándar garantiza que un vector almacene sus elementos en posiciones contiguas de memoria.
De hecho los vector<bool> no se consideran como STL.

Kutcher debe haberse confudido con deque, donde el contenedor no te garantiza la continuidad en memoria:
http://www.cplusplus.com/reference/deque/deque/

Y aún así el acceso a una posición aleatoria se hace en tiempo constante al igual que en vector.
  #33 (permalink)  
Antiguo 10/02/2015, 10:07
lareto
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: [Consulta]Tile Map.¿Mejor std::vector o array?

Cita:
Iniciado por amchacon Ver Mensaje
De hecho los vector<bool> no se consideran como STL
Sí, se consideran, están ahí, en la STL.
std::vector<bool, Allocator> es una especialización de vector para elementos bool.
Ver 23.3.7 Class vector<bool>
  #34 (permalink)  
Antiguo 10/02/2015, 10:56
 
Fecha de Ingreso: julio-2012
Mensajes: 375
Antigüedad: 12 años, 4 meses
Puntos: 28
Respuesta: [Consulta]Tile Map.¿Mejor std::vector o array?

Bueno no se consideran como un vector más bien.

Etiquetas: arreglos, c++, creación, juegos, vector
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 21:31.