• Lunes 18 de Noviembre de 2024, 07:56

Autor Tema:  Diferenciaa  (Leído 9802 veces)

supermancito

  • Miembro activo
  • **
  • Mensajes: 35
    • Ver Perfil
Diferenciaa
« en: Martes 5 de Diciembre de 2006, 17:14 »
0
saludos amigos una duda

cual es la diferencia :
Citar
libro **bib=NULL;libro **aux=NULL;


con esto:
Citar
libro.open("Socios.bin",ios::out|ios::binary);

ay alguna diferncia entre esos 2  codigos o son iguales??
C:\Documents and Settings\Administrador\Mis documentos

NiCH

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Diferenciaa
« Respuesta #1 en: Martes 5 de Diciembre de 2006, 17:45 »
0
La pregunta sería: ¿Hay algún parecido? Xq yo no le encuentro ninguno. Salu2

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: Diferenciaa
« Respuesta #2 en: Martes 5 de Diciembre de 2006, 18:04 »
0
Cita de: "supermancito"
saludos amigos una duda

cual es la diferencia :
Citar
libro **bib=NULL;libro **aux=NULL;


con esto:
Citar
libro.open("Socios.bin",ios::out|ios::binary);

ay alguna diferncia entre esos 2  codigos o son iguales??
Con la primera estas creando punteros de tipo libro (debe ser una clase o algo así o estructura no se, corrijanmen si estoy mal pero creo que a un puntero no se le puede asignar un valor NULL :blink: )

La segunda es una función de la clase libro que abre un archivo.
El pasado son solo recuerdos, el futuro son solo sueños

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Diferenciaa
« Respuesta #3 en: Martes 5 de Diciembre de 2006, 18:06 »
0
Ayudalo Señor.

¿Que pasa Supermancito?

¿Ya te leíste algún libro?, Deberías
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Diferenciaa
« Respuesta #4 en: Martes 5 de Diciembre de 2006, 18:24 »
0
Cita de: "supermancito"
cual es la diferencia
Este es uno de los mensajes mas graciosos que lei eh ...

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

NiCH

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Diferenciaa
« Respuesta #5 en: Martes 5 de Diciembre de 2006, 19:13 »
0
RadicalEd a un puntero le puedes dar un valor NULL, de hecho es una forma de inicializarlo (siempre se recomienda inicializarlos), aunque más estándar por lo que he leído en bastantes libros es inicializarlo a 0.

Un poco de offtopic para darle sentido a este hilo.

Salu2

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Diferenciaa
« Respuesta #6 en: Martes 5 de Diciembre de 2006, 20:12 »
0
NULL es 0 y efectivamente es una buena practica de programacion inicializar las variables asi.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

arielb

  • Moderador
  • ******
  • Mensajes: 771
  • Nacionalidad: pa
    • Ver Perfil
    • http://coder-pa.blogspot.com
Re: Diferenciaa
« Respuesta #7 en: Martes 5 de Diciembre de 2006, 20:20 »
0
Citar
Ayudalo Señor.

jejeje me reido
"Porque de tal manera amó Dios al mundo que dio a su hijo unigénito para que todo aquél que en él crea no se pierda mas tenga vida eterna"
Juan 3:16

http://coder-pa.blogspot.com

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: Diferenciaa
« Respuesta #8 en: Martes 5 de Diciembre de 2006, 20:43 »
0
Cita de: "Eternal Idol"
NULL es 0 y efectivamente es una buena practica de programacion inicializar las variables asi.
Sip, ahora me acuerdo de esa discusión tormentosa del otro día :P
El pasado son solo recuerdos, el futuro son solo sueños

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Diferenciaa
« Respuesta #9 en: Martes 5 de Diciembre de 2006, 21:06 »
0
Cita de: "Eternal Idol"
NULL es 0 y efectivamente es una buena practica de programacion inicializar las variables asi.
No necesariamente... pero si es así en todos los casos que conozco... :whistling:
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Diferenciaa
« Respuesta #10 en: Martes 5 de Diciembre de 2006, 21:23 »
0
Cita de: "JuanK"
No necesariamente... pero si es así en todos los casos que conozco... :whistling:
NULL es 0 hasta que se demuestre lo contrario  :kicking:

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Diferenciaa
« Respuesta #11 en: Martes 5 de Diciembre de 2006, 21:29 »
0
Quedo demostrado que NULL es 0 en casi todos o todos los compiladores actuales, pero también quedo claro que null puede ser cualquier cosa de acuerdo a ANSI C.

http://foros.solocodigo.com/index.php?show...c=25551&hl=null


Citar
Macro NULL ANSI C

#define NULL

Un puntero nulo constante definido según la implementación.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Diferenciaa
« Respuesta #12 en: Martes 5 de Diciembre de 2006, 21:46 »
0
Cita de: "Eternal Idol"
No es casi todos, eso es mentira mientras no muestres NINGUN compilador que defina NULL como algo diferente a cero. Por eso mantengo que NULL es 0 hasta que demuestres lo contrario; y es mas, NULL es 0, si a algun imbecil se le ocurre ponerle otro valor que lo haga, seguira siendo 0 para cualquiera. Por algo es NULL!

Mas información, dudas o aclaraciones... ir a la fuente:

ANSI C[/size]
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Diferenciaa
« Respuesta #13 en: Martes 5 de Diciembre de 2006, 21:47 »
0
Cita de: "JuanK"
Quedo demostrado que NULL es 0 en casi todos o todos los compiladores actuales, pero también quedo claro que null puede ser cualquier cosa de acuerdo a ANSI C.
No es casi todos, eso es mentira mientras no muestres NINGUN compilador que defina NULL como algo diferente a cero. Por eso mantengo que NULL es 0 hasta que demuestres lo contrario; y es mas, NULL es 0, si a algun imbecil se le ocurre ponerle otro valor que lo haga, seguira siendo 0 para cualquiera. Por algo es NULL!

http://encarta.msn.com/dictionary_/null.html

Y en castellano (tiene la misma raiz, nullus)

nulo, la.
   (Del lat. nullus).
   1. adj. Falto de valor y fuerza para obligar o tener efecto, por ser contrario a las leyes, o por carecer de las solemnidades que se requieren en la sustancia o en el modo.
   2. adj. Incapaz, física o moralmente, para algo.
   3. adj. ninguno (ǁ ni uno solo).
   4. adj. Dicho de un combate de boxeo: Sin vencedor, por haber conseguido ambos púgiles igual número de puntos.
   5. adj. Mat. Que tiene valor igual a cero.

No pienso continuar, si queres creer que podes encontrar un compilador que defina NULL a algo diferente a cero, muy bien, segui pensando eso.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Diferenciaa
« Respuesta #14 en: Martes 5 de Diciembre de 2006, 21:49 »
0
Cita de: "Eternal Idol"
http://encarta.msn.com/dictionary_/null.html
 
la definición de microsoft no implica standart .
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Diferenciaa
« Respuesta #15 en: Martes 5 de Diciembre de 2006, 21:55 »
0
Cita de: "JuanK"
la definición de microsoft no implica standart .
¿Standart? Es standard, por favor. Esa no es una definicion de Microsoft, es un diccionario de la lengua no de informatica.

Ademas el standard de C++ dice esto claramente:

4.10 - Pointer conversions [conv.ptr]

-1- A null pointer constant is an integral constant expression (expr.const) rvalue of integer type that evaluates to zero.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Diferenciaa
« Respuesta #16 en: Martes 5 de Diciembre de 2006, 22:00 »
0
Más info: ;)


http://c-faq.com/null/

Citar
5. Null Pointer Constants


http://www.greenend.org.uk/rjk/2001/02/cfu.html
Citar
5.6 If NULL were defined as follows:

   #define NULL ((char *)0)

wouldn't that make function calls which pass an uncast NULL work?
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: Diferenciaa
« Respuesta #17 en: Martes 5 de Diciembre de 2006, 22:03 »
0
null: zero - data link sink

No es solo en este tema, al igual que en definicion, en Unix existe /dev/null y /dev/zero (no viene al caso pero... )

Es mas yo he visto esto

Código: Text
  1. #define NULL ((char *)0)
  2.  
Código: Text
  1. #define NULL ((void *)0)
  2.  

No se como funciones...
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Diferenciaa
« Respuesta #18 en: Martes 5 de Diciembre de 2006, 22:03 »
0
¿No entendes ingles no?

http://gcc.gnu.org/ml/gcc/1999-03n/msg00111.html


"No. The C++ Standard does not say anything like that. The exact
wording is:

18.1/4
---
  The macro NULL is an implementation-defined C++ null pointer
  constant in this Internnational Standard (4.10).
---

Footnote says:

---
  Possible definitions include 0 and OL, but not (void*)0.
---"

Puntero nulo, nulo!!! Implica cero!!!

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Diferenciaa
« Respuesta #19 en: Martes 5 de Diciembre de 2006, 22:05 »
0
Esto es de tu pagina http://www.greenend.org.uk/rjk/2001/02/cfu.html:

The standard says:
An integral constant expression with the value 0, or such an expression cast to void *, is called a null pointer constant. If a null pointer constant is assigned to or compared for equality to a pointer, the constant is converted to a pointer of that type. Such a pointer, called a null pointer, is guaranteed to compared unequal to a pointer to any object or function.

Se ve que no entendes ingles muy bien que digamos.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: Diferenciaa
« Respuesta #20 en: Martes 5 de Diciembre de 2006, 22:17 »
0
Citar
En general, un puntero se puede iniciar como calquier otra variable, aunque los unicos valores significativos son NULL o la direccion de un objeto previamente definido. NULL es una constant definida en el fichero stdio.h asi:

#defined NULL ((void *)0) // definicion de NULL en c
#defined NULL 0                // definicion de NULL en C++

El lenguaje C garantiza que un puntero que apunte a un objeto valido nunca tendra un valor cero.
El valor cero se utiliza oara indicar que ha ocurrido un error; en otras palabras, que una determinada operacion no se ha podido realizar. Por ejemplo, recuerde que la funcion gets cuando lee la marca de fin de fichero retrna un puntero nulo (NULL), indicando asi que no ha mas datos para leer.

En general, no tiene sentido asignar enteros a punteros porque quien gestiona la memoria es el sistema operativo y por lo tanto es el, el que sabe en todo momento que direcciones estan libres y cuales estan ocupadas...

C/C++ Curso de prgamacion 2ª edicion.
Fco. Javier Ceballos.

Uds. diran...  :blink:
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Diferenciaa
« Respuesta #21 en: Martes 5 de Diciembre de 2006, 22:19 »
0
no...solo pones lo que te conviene... los textos ( si sabes ingles...) muestran las implicaciones de hablar de NULL como si siempre fuera = 0 , lo cual desde luego se debe a que la gente suele asumir que NULL es necesariamente 0 pero no siempre funciona asi y no es necesario que lo sea... otra cosa es que se haya vuelto estándar de facto.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Diferenciaa
« Respuesta #22 en: Martes 5 de Diciembre de 2006, 22:20 »
0
Cita de: "su -"
Citar
En general, un puntero se puede iniciar como calquier otra variable, aunque los unicos valores significativos son NULL o la direccion de un objeto previamente definido. NULL es una constant definida en el fichero stdio.h asi:

#defined NULL ((void *)0) // definicion de NULL en c
#defined NULL 0                // definicion de NULL en C++

El lenguaje C garantiza que un puntero que apunte a un objeto valido nunca tendra un valor cero.
El valor cero se utiliza oara indicar que ha ocurrido un error; en otras palabras, que una determinada operacion no se ha podido realizar. Por ejemplo, recuerde que la funcion gets cuando lee la marca de fin de fichero retrna un puntero nulo (NULL), indicando asi que no ha mas datos para leer.

En general, no tiene sentido asignar enteros a punteros porque quien gestiona la memoria es el sistema operativo y por lo tanto es el, el que sabe en todo momento que direcciones estan libres y cuales estan ocupadas...

C/C++ Curso de prgamacion 2ª edicion.
Fco. Javier Ceballos.

Uds. diran...  :blink:
C con clase:

Citar
Macro NULL ANSI C

#define NULL

Un puntero nulo constante definido según la implementación.

Ejemplo:

#define NULL 0  DJGPP
#define NULL 0
ó
#define NULL 0L
ó
#define NULL ((void *)0)  Borland
#define NULL ((void*0) /* Para C++ */  Dev-C++
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Diferenciaa
« Respuesta #23 en: Martes 5 de Diciembre de 2006, 22:20 »
0
NO, como no sabes ingles no entendes de que hablan, hablan de los problemas con los castings! No con que el valor sea diferente de cero, en todos lados habla clarisimamente de null, que es nulo y que es cero! Por dios, que manera de hacer perder el tiempo y confundir innecesariamente a la gente.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Diferenciaa
« Respuesta #24 en: Martes 5 de Diciembre de 2006, 22:22 »
0
Cita de: "Eternal Idol"
No pienso continuar
...
Por dios, que manera de hacer perder el tiempo y confundir innecesariamente a la gente.
Yo no hago perder el tiempo... cada cual pierde el tiempo como quiere  <_<
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io