Programación General > C/C++
Apuntar A Null Al Destruir
Eternal Idol:
--- Cita de: "JuanK" --- :lol: ya me acostumbre a la semántica de C# <_<
--- Fin de la cita ---
¿Alguna vez estuviste acostumbrado a la de C++? Segun tus propios mensajes nunca aprendiste POO con C++.
Igual sigo sin ver la logica de comparar el puntero con NULL despues del delete. ¿Para que?
JuanK:
Los punteros en C/C++ no son exclusivos de POO.
Diodo:
Lo quiero hacer para esto
--- Código: Text --- SMRentorno *ent1=new SMRentorno("ent1"); // un objetoSMRentorno *ent2=new SMRentorno("ent2"); // otrodelete ent2; // destruyo el ultimoSMRlista<SMRentorno> list; // lista enlazadalist.Insertar(ent1); // inserto el primerolist.Insertar(ent2); // inserto el segundo (se me cuela pq no se como ver si esta destruido)list.Vaciar(); // al vaciar la lista e ir destruyendo da un error de ejecucion al colarse un ptro a una zona vacia
list es una template que estoy haciendo para listas enlazadas. En el metodo insertar quiero evitar que se me cuelen punteros vacios o que apunten a un objeto ya destruido, por eso queria que apuntase a NULL al destruirlos
JuanK:
--- Cita de: "Eternal Idol" --- Igual sigo sin ver la logica de comparar el puntero con NULL despues del delete. ¿Para que?
--- Fin de la cita ---
:rolleyes:
para saber si ya esta o aun esta creada una instancia, supongo.
Diodo:
Este es el codigo de Insertar en la plantilla
--- Código: Text --- void Insertar(T *nodo) { if(nodo!=NULL) { lista *p1,*p2; p1=list; if(p1==NULL) { p1=new lista(); if(p1!=NULL) { p1->act=nodo; p1->next=NULL; list=p1; } } else { while(p1->next!=NULL) p1=p1->next; p2=new lista(); if(p2!=NULL) { p2->act=nodo; p2->next=NULL; p1->next=p2; } } } else { //PORHACER error nodo nulo printf("esta introduciendo un nodo NULO"); } };
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa