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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  (ayuda) Operadores new y delete
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: (ayuda) Operadores new y delete  (Leído 1,911 veces)
TheZeck

Desconectado Desconectado

Mensajes: 13


Ver Perfil
(ayuda) Operadores new y delete
« en: 29 Julio 2016, 15:59 pm »

Hola, alguien podría ayudarme con esto? estuve viendo el tema de los operadores new y delete y queria darle valores a un arreglo para luego liberarlo usando delete e imprimir los valores nuevos que tendrían (se supone que seria cualquier valor) pero los 3 últimos valores siguen siendo los mismos a los que ingreso, entonces me hace pensar que no se ha liberado nada más que los dos primeros elementos. Gracias de antemano.
Código
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main()
  5. {
  6.    int *puntero = new int[5];
  7.  
  8.    for(int i = 0; i < 5; i++){
  9.        cout<<"Ingresa elemento "<<i+1<<": "; cin>>*(puntero + i);
  10.        cout<<endl;
  11.    }
  12.    delete[] puntero;
  13.  
  14.  
  15.    for(int i = 0; i < 5 ; i++){
  16.        cout<<*(puntero + i)<<endl;
  17.    }
  18.  
  19.    return 0;
  20. }


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: (ayuda) Operadores new y delete
« Respuesta #1 en: 29 Julio 2016, 16:12 pm »

delete no va a limpiar la memoria (seria perder tiempo en algo innecesario ) solo la va a liberar para que sea usable por otra varible o proceso

a menos que otra variable acceda y cambie ese valor ese puntero parecerá valido


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
TheZeck

Desconectado Desconectado

Mensajes: 13


Ver Perfil
Re: (ayuda) Operadores new y delete
« Respuesta #2 en: 29 Julio 2016, 16:15 pm »

delete no va a limpiar la memoria (seria perder tiempo en algo innecesario ) solo la va a liberar para que sea usable por otra varible o proceso

a menos que otra variable acceda y cambie ese valor ese puntero parecerá valido

Entonces en teoría lo que hice en el código esta bien solo que la definición sobre los operadores la tenia mal, verdad? por cierto gracias
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: (ayuda) Operadores new y delete
« Respuesta #3 en: 29 Julio 2016, 16:26 pm »

si, para "verlo funcionar" puedes declarar un array de 20millones de valores int (int=32bits =4bytes... *20.000.000 = 80MB) con el administrador de tareas abierto, luego das enter para que haga el delete y veras como baja ese espacio o para no ser salvaje, puedes hacer debug 
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda, operadores a nivel bit?
PHP
HardieVon 3 2,572 Último mensaje 19 Febrero 2009, 05:55 am
por HardieVon
[Ayuda] Error con delete[]... algo extraño... « 1 2 »
Programación C/C++
BlackZeroX 17 7,564 Último mensaje 14 Julio 2011, 07:10 am
por BlackZeroX
DELETE sql
Bases de Datos
andaluz 0 1,803 Último mensaje 1 Junio 2012, 19:20 pm
por andaluz
[C++] Duda con new y delete[] o delete Tratando de hacer matriz dinamica
Programación C/C++
capsulasinformaticas 7 4,980 Último mensaje 21 Marzo 2013, 18:03 pm
por capsulasinformaticas
Crash al usar operadores new y delete.
Programación C/C++
aerolio_2 2 1,762 Último mensaje 25 Marzo 2017, 23:01 pm
por aerolio_2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines