elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Duda sobre nodos y uso de memoria
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda sobre nodos y uso de memoria  (Leído 2,682 veces)
Pedro122h

Desconectado Desconectado

Mensajes: 168


Ver Perfil
Duda sobre nodos y uso de memoria
« en: 10 Marzo 2022, 06:43 am »

por ejemplo en esta funcion creo un nodo auxiliar para mostrar los nodos
Código
  1. void mostrarnodos(nodo *lista){
  2. nodo *actual=new nodo();
  3. actual=lista;
  4. while(actual!=NULL){
  5. cout<<"dato: "<<actual->dato<<endl;
  6. actual=actual->siguiente;
  7. }
  8. }
Cada vez que llame la funcion me esta ocupando mas memoria?
o simplemente el nodo se borra cuando se termina la ejecucion de la funcion?
Es algo que no tengo claro y me gustaria saber.

O en este otro caso con esta otra funcion
Código
  1. void eliminarnodo(nodo *&lista){
  2. pila=pila->siguiente;
  3. }
En realidad hacer esto libera ese espacio de memoria? O simplemente se deja de tener acceso a el


En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.958


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Duda sobre nodos y uso de memoria
« Respuesta #1 en: 10 Marzo 2022, 09:55 am »

Si, new reserva memoria  y para liberarla debes usar delete, ahi tenes un memory leak.


En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Duda sobre nodos y uso de memoria
« Respuesta #2 en: 10 Marzo 2022, 18:53 pm »

Esta línea te sobra
Código:
nodo *actual=new nodo();
porque le estás pidiendo al sistema memoria para un nodo que no usas. A la siguiente línea le cambias la referencia con
Código:
actual=lista;
y ya has perdido ese 'new nodo()'. Igual en 'eliminarnodo' debes hacer un delete, no basta con cambiar de referencia la pila.
En línea

Pedro122h

Desconectado Desconectado

Mensajes: 168


Ver Perfil
Re: Duda sobre nodos y uso de memoria
« Respuesta #3 en: 10 Marzo 2022, 23:55 pm »

Gracias por la Ayuda
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda sobre manipulacion de memoria
Programación Visual Basic
DarkObi 1 1,682 Último mensaje 30 Diciembre 2005, 22:05 pm
por Slasher-K
Duda sobre memoria Ram « 1 2 3 »
Hardware
~ Ghost_Networks ~ 20 11,064 Último mensaje 25 Diciembre 2010, 11:13 am
por VILLANO
Duda sobre direccionamiento de la memoria
Dudas Generales
Oppenheimer 2 2,444 Último mensaje 23 Septiembre 2013, 20:07 pm
por Oppenheimer
duda sobre la memoria DRAM
Hardware
MRx86 0 1,903 Último mensaje 4 Enero 2017, 04:10 am
por MRx86
Duda sobre eliminar nodos de una lista doble
Programación C/C++
Beginner Web 4 1,946 Último mensaje 14 Diciembre 2018, 02:18 am
por Beginner Web
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines