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






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.