Ayuda con el operador new

Iniciado por erest0r, 1 Octubre 2013, 22:45 PM

0 Miembros y 1 Visitante están viendo este tema.

erest0r

Hola, practicando con el operador new de C++ me he dado cuenta que no tiene forma de redimensionar el arreglo dinamico, por lo que segui el ejemplo de un amigo de crear una nuevo arreglo dinamico, copiar todo lo que tenia en el viejo y pasarlo al nuevo y destruirlo (el viejo), no se si es que ese operador no trae esa funcion, ¿O tendria que trabajar con la clase vector para poder manipularla?
Cruzar la calle junto a mucha gente cuando el semáforo sigue en rojo da seguridad y espíritu de equipo... o cruzamos todos o morimos juntos.

eferion

La clase vector trae su propia lógica para poder incrementar la memoria que internamente manipula, lo que sucede es que ese proceso es transparente para ti.

La clase vector dispone de métodos para reservar directamente una cantidad determinada de memoria interna. Esto viene bien cuando sabes que vas a llenar con muchos elementos un vector, ya que cada vez que tiene que incrementar su memoria interna tiene que hacer el proceso que tú has descrito. Como puedes imaginarte ese proceso puede deteriorar el rendimiento de la aplicación.

Lo que está claro es que, si necesitas más memoria en un vector, o lo haces como has descrito, o creas bloques de memoria independientes... la ventaja de este sistema es que no hay que hacer un volcado cada vez que se reserva un bloque nuevo... la desventaja es que el acceso a los elementos es más lento.