Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: user-marcos en 20 Febrero 2016, 18:46 pm



Título: Eliminar punteros
Publicado por: user-marcos en 20 Febrero 2016, 18:46 pm
Código
  1.  
  2. int* num = new int[3];
  3. num[0] = 1;
  4. num[1] = 2;
  5. num[2] = 3;
  6.  

¿Cómo se puede redimensionar el vector a int[2], respetando las posiciones de memoria y el contenido de estas? (Eliminar num[2])

Un saludo.


Título: Re: Eliminar punteros
Publicado por: ivancea96 en 21 Febrero 2016, 01:34 am
Utiliza realloc(void* puntero_anterior, size_t tamaño). De todos modos, no se asegura que vaya a ser la misma dirección.

Así que tienes 2 posibilidades: o dejar la memoria y utilizar solo lo que vayas a utilizar, o no necesitar que sea siempre el mismo puntero. No hay razón para que tengas que usar siempre la misma dirección.