[C con Clase] Realloc en C++ con 'new' y 'delete'

Jorge Vega Sanchez memmaker650 en gmail.com
Vie Nov 19 11:20:27 CET 2010


Tengo este código que algunos ya conocerán. Lo que quiero saber es si hay un realloc o posibilidad de reservar más memoria pero sin perder los datos que ya tengas guardado, lo cual no sucede en mi programa. A ver si alguno puede ayudarme, un saludo.
-----------------------------------------------------------------
#include <stdio.h>
#include <vector>

using namespace std;

int* metodo(int*);

int main()
{
	int *array;
	array = new int;
	
	array[0]=69;  <-- Escribo en el primer
			
	array=metodo(array);
	
	printf("Tercer valor del vector: %d \n", array[2]);
	printf("Tercer valor del vector: %d \n", array[0]);  <--- debería leerse 69 pero sale un 0
	
	delete[] array;
	
	return 0;
}
	
int* metodo(int* vector)
{
	int N=6;
	
	vector = new int[N];  <-- Aquí me gustaría un realloc que se hace en MALLOC
	for(int i=1; i<N; i++)
	{
		vector[i]=i+5;
	}
	printf("Valores del vector: %d, %d, %d, %d y %d \n",vector[0],vector[1],vector[2],vector[3],vector[4]);
	
	return vector;
}
-----------------------------------------------------------------
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20101119/5de1d6a9/attachment.html>


Más información sobre la lista de distribución Cconclase