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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Diferencia de instancia (CLASE oObjeto; y CLASE *oObjeto = new CLASE();)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Diferencia de instancia (CLASE oObjeto; y CLASE *oObjeto = new CLASE();)  (Leído 2,783 veces)
ahkbar87

Desconectado Desconectado

Mensajes: 13


Ver Perfil
Diferencia de instancia (CLASE oObjeto; y CLASE *oObjeto = new CLASE();)
« en: 14 Junio 2011, 06:11 am »

Hola,
         Bueno la duda es esa, cual es la diferencia de crear un objeto utilizando:

CLASE oObjeto;
oObjeto.metodo();

Con esta otra:

CLASE *oObjeto = new CLASE();
oObjeto->metodo();

Si por favor me pudieran explicar tal diferencia a nivel de memoria, de antemano gracias!!!, con eso me refiero a HEAP, STACK, gracias!
         
 


En línea

do-while


Desconectado Desconectado

Mensajes: 1.276


¿Habra que sacarla de paseo?


Ver Perfil
Re: Diferencia de instancia (CLASE oObjeto; y CLASE *oObjeto = new CLASE();)
« Respuesta #1 en: 14 Junio 2011, 14:19 pm »

¡Buenas!

La diferencia es que cuando estas creando un objeto de la clase en tiempo de compilacion, en el marco de llamada a la funcion que contiene el objeto, estas tomando memoria del stack del programa para almacenarlo (o para almacenar su direccion). Si el objeto lo creas en tiempo de ejecucion, la memoria la tomas del heap.

Supongo que alguien te podra dar informacion mas concreta, pero la idea es esa.

¡Saludos!


En línea

- Doctor, confundo los números y los colores.
- Vaya marrón.
- ¿Marrón? ¡Por el culo te la hinco!
Don Pollo

Desconectado Desconectado

Mensajes: 74

/* No comments */


Ver Perfil
Re: Diferencia de instancia (CLASE oObjeto; y CLASE *oObjeto = new CLASE();)
« Respuesta #2 en: 14 Junio 2011, 23:17 pm »

Si lo creas como puntero, eres tú el que le asigna la memoria y, por ende, eres tú el que debes eliminarlo con un "delete" cuando ya no te haga falta. Si no lo creas como puntero, se crea y se destruye automáticamente.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
clase no registrada???
Multimedia
Necro 0 2,341 Último mensaje 2 Mayo 2004, 03:59 am
por Necro
Constructores de clase
Programación Visual Basic
Gangrel 1 1,419 Último mensaje 22 Abril 2006, 01:56 am
por Gangrel
se puede dar herencia de una clase anidada a una clase normal.
Java
kev4142 0 3,405 Último mensaje 7 Agosto 2009, 20:46 pm
por kev4142
Problema de interacion entre una clase Interfaz y la clase que la llama
Java
yeah69 4 4,506 Último mensaje 21 Mayo 2010, 06:30 am
por we4rt
¿Por qué hacen eso? No se si reirme o vomitar de esa clase de personas « 1 2 »
Foro Libre
M401 13 6,351 Último mensaje 26 Febrero 2021, 00:05 am
por Tachikomaia
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines