Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Problema Con Delete

Iniciado por Douch, 10 de Mayo de 2005, 11:26:12 PM

« anterior - próximo »

Warchief

Cita de: "vincent"Efectivamente, esto tendria que ser así:

CPalabra::CPalabra(char *cPal)
{
 cPalabra = new char[strlen(cPal)];
 strcpy(cPalabra , cPal);
}

VinCenT

CPalabra::CPalabra(char *cPal)
{
 cPalabra = new char[strlen(cPal)+1];
 strcpy(cPalabra , cPal);
}

:)  

vincent

 uops! Toda la razón del mundo!  :rolleyes:  
Desarrollo en .Net y metodologías http://devnettips.blogspot.com

samsaga2

 A que tanto lio


std::string palabra("pepeluis");
cout << palabra;


Ni un solo delete

Warchief

 
cout << "pepeluis";


También sin deletes.  :P

zupervaca

 le gustara tener el control maximo sobre sus string

saludos

pd: pasare de postear por este hilo si comienza una guerra de std y no std  :D  

Douch

 
Cita de: "samsaga2"A que tanto lio


std::string palabra("pepeluis");
cout << palabra;


Ni un solo delete
Hombreeee, el objetivo es aprender "clases", no a manejar cadenas de texto :P.  

O2

 Yo tenía entendido que delete [] era para liberar arrays enteros de punteros con memoria reservada.

zupervaca : Dices que delete [] llama al destructor de la clase culla memoria se libera, Pero ¿acaso delete no lo hace?

Saludos.

Pogacha

 ClaseA * a = new ClaseA [255];es lo mismo que:ClaseA  * a = malloc (sizeof (ClaseA ) *255 ):
for(int i =0; i<255; i++) a[i].ClaseA(); // constructor de cada una


delete []a;Es lo mismo que:for(int i =0; i<255; i++) a[i].~ClaseA(); // desconstructor de cada una
free(a);
// al 255 lo saca de la direccion de memoria (int*)a[-1] o de por ahí cerca nomas;


zupervaca

 
Cita de: "O2"Yo tenía entendido que delete [] era para liberar arrays enteros de punteros con memoria reservada.

zupervaca : Dices que delete [] llama al destructor de la clase culla memoria se libera, Pero ¿acaso delete no lo hace?

Saludos.

pogacha lo ha indicado bien, yo no me hubiera expresado mejor