Cita:
Iniciado por Andrek Muchas gracias amigo por contestar!
Me ha servido todo a la perfeccion pero aun tengo una duda, al final del codigo no puedo liberar el array momentaneo porque 'array' ahora es un puntero que señala al array momentaneo cierto?
Cierto, la línea "array = new_array" copia la dirección de memoria donde se encuentra la memoria reservada, por lo que a partir de ese momento ambos punteros están accediendo a la misma reserva de memoria.
Cita:
Iniciado por Andrek ... y al usar 'delete[] array' estoy liberando tambien el array momentaneo ...
exacto.
Cita:
Iniciado por Andrek ... si es asi entonces al final termino usando es 'new_array' para almacenar las direcciones.
Sí y no. A ver, "new_array" únicamente "existe" dentro de la función que lo ha declarado. Es decir, fuera de la función "push_back" no existe esta variable, por lo que no tiene ningún sentido hablar de ella.
Sin embargo, "array" si sigue existiendo fuera de esta función y, dado que has hecho que esta variable apunte a una reserva de memoria válida, permites que "array" pueda seguir almacenando lo que le vayas pasando.