Foros del Web » Programación para mayores de 30 ;) » C/C++ »

operador NEW y funciones q devuelven PUNTEROS

Estas en el tema de operador NEW y funciones q devuelven PUNTEROS en el foro de C/C++ en Foros del Web. hola todo bien, de apoco , estoy tratando de entender esto de pilas listas , colas. tengo 3 preguntas , relacionadas a lo que se ...
  #1 (permalink)  
Antiguo 18/06/2012, 10:33
 
Fecha de Ingreso: junio-2010
Mensajes: 752
Antigüedad: 13 años, 10 meses
Puntos: 5
operador NEW y funciones q devuelven PUNTEROS

hola todo bien, de apoco , estoy tratando de entender esto de pilas listas , colas.

tengo 3 preguntas , relacionadas a lo que se ve en PILAS LISTAS COLAS, son comunes en todo el lenguaje c (c++)

bueno

---------------------------------------------------------------------------

1) el operador new.. basicamente para que se usa.? en una parte del codigo de pilas, (hay una estructura creada que se autoreferencia)

Código PHP:
system("cls");
actual= new struct pila;
printf("Nombre: ");
gets(actual->nombre);
actual->ant=ultimo;
ultimo=actual
tranquilamente podria ASIGNAR,

actual = struct pila...

pero como no son variables, son tipos...
es como un objeto que yo cree, una clase, una instancia... tiene sentido...

instancia una estructura PILA hacia otra llamada actual...

-------------------------------------------------------------------------------

2) el operador "->" , esto es mas para acostumbrarse a lo que son objetos, en C, clases mejor dicho no? es como acceder a un miembro de un objeto, como se se accedia a un miembro de una estructura....

---------------------------------------------------------------------------------

3) cuando se dice que una funcion devuelve un puntero , que es lo que quiere decir ?? esto lo vi en archivo , con las funciones fread, o algo asi, no me quise detener a entenderlo.. ya que lo hice rapido a los ejercicios...

lei que NEW devuelve un puntero del mismo tipo... este operador tiene una similitud, con MALLOC de C, que son para reservar memoria...
a ver si entiendo,,, las funciones que devuelven un puntero ,,,

NO DEVUELVEN DIRECCIONES DE MEMORIA"!.
deVUELVEN variables, si es NEW, del mismo tipo que las llamo. que apuntan a un dato, y tienen una direccion de memoria. asi si....


bueno , de apoco. voy entendiendo estas cosas....
  #2 (permalink)  
Antiguo 18/06/2012, 12:53
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: operador NEW y funciones q devuelven PUNTEROS

En new es igual al malloc de C..Lo que hace es reservar memoria y devuelve el puntero...pero agrega un par mas de cosas...si estas trabajando con clases lo que hace es invocar el constructor de la clase. Ademas podes usar los lo corchetes para reservar memoria para muchas instancias...

Tanto new como malloc debvuelven un puntero a la memoria que reservaste.

El operador -> equivale a usar esto:

a-> b === (*a).b

Basicamente lo que hace es desreferenciar y luego buscar el campo de la estructura o clase...

Saludos
  #3 (permalink)  
Antiguo 19/06/2012, 01:02
 
Fecha de Ingreso: junio-2010
Mensajes: 752
Antigüedad: 13 años, 10 meses
Puntos: 5
Respuesta: operador NEW y funciones q devuelven PUNTEROS

Cita:
Iniciado por sam90 Ver Mensaje
En new es igual al malloc de C..Lo que hace es reservar memoria y devuelve el puntero...pero agrega un par mas de cosas...si estas trabajando con clases lo que hace es invocar el constructor de la clase. Ademas podes usar los lo corchetes para reservar memoria para muchas instancias...

Tanto new como malloc debvuelven un puntero a la memoria que reservaste.

El operador -> equivale a usar esto:

a-> b === (*a).b

Basicamente lo que hace es desreferenciar y luego buscar el campo de la estructura o clase...

Saludos
hola , disculpa , esos tres iguales , estan , por qiue queres decir,"que una manera equivale a la otra "??

gracias por responder,"
  #4 (permalink)  
Antiguo 19/06/2012, 09:59
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: operador NEW y funciones q devuelven PUNTEROS

Claro es un equivalente, cuando usas a->b el compilador lo reemplaza por (*a).b y eso a su vez es reemplazado por otras cosas...

Saludos
  #5 (permalink)  
Antiguo 19/06/2012, 17:28
 
Fecha de Ingreso: junio-2010
Mensajes: 752
Antigüedad: 13 años, 10 meses
Puntos: 5
Respuesta: operador NEW y funciones q devuelven PUNTEROS

hola una cosa, que quiere decir cuando se dice que una funcion DEVUELVE UN PUNTERO ,,,

tales como funciones de archivo (fopen por ejemplo...), . o en este caso con new o malloc...

esta bien decir que le devuelve a la variable... un puntero, osea una direccion de memoria..
un area de la memoria donde si uso new o malloc , tendre espacio para trabajar....
EL PUNTERO VA A APUNTAR A ESE ESPACIO...

esta bien dicho esto?

Última edición por vani18; 19/06/2012 a las 17:33

Etiquetas: funcion, funciones, lenguaje, operador, punteros, struct, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:12.