Hans_Henrik Skrevet 13. november 2008 Del Skrevet 13. november 2008 hva er forskjellen om man skriver: X = NULL X = 0 X = 0x00 hva er forskjellen? burde ikke alle være NULL ? Lenke til kommentar
GeirGrusom Skrevet 13. november 2008 Del Skrevet 13. november 2008 (endret) Tjo men NULL er definert slik: #define NULL (void*)0 Så den er ment for å brukes på pekere for å skille mellom pekere og verdier. Har egentlig aaldri prøvd selv, men kan en sette en peker lik 0 uten å caste den til en peker først? Isåfall så blir det litt som forskjellen mellom class og struct. Endret 13. november 2008 av GeirGrusom Lenke til kommentar
Dead_Rabbit Skrevet 13. november 2008 Del Skrevet 13. november 2008 Man kan fint sette en peker til 0 uten at man trenger å caste. Lenke til kommentar
Giddion Skrevet 13. november 2008 Del Skrevet 13. november 2008 Slik jeg har forstått det så skal du bruke NULL når det fks. står i dokumentasjoen at du skal det, ikke ta det for gitt at NULL == 0. Lenke til kommentar
teflonpanne Skrevet 14. november 2008 Del Skrevet 14. november 2008 I C er NULL gjerne (void *)0 fordi C tillater implisitt casting fra void * til andre pekertyper. Men i C++ er ikke det tillatt, så NULL *skal* være definert som 0. I C++0x skal man dog legge til et keyword som heter nullptr som skal fikse noe av problemene med 0 og NULL, les mer her: http://en.wikipedia.org/wiki/C%2B%2B0x#Null_pointer Lenke til kommentar
Hans_Henrik Skrevet 14. november 2008 Forfatter Del Skrevet 14. november 2008 (endret) if(NULL == 0){ system("echo NULL er samma som 0"); } if(0x00 == 0){ system("echo 0x00 er samma som 0"); } if(0x00 == NULL){ system("echo 0x00 er samma som NULL"); } vell ser ikke ut som det er store forskjellen (minGW c++ compiler kommer med true på alt) edit: Tro meg, for -7 dager siden hadde jeg sannsynlig vis ikke kunnskap till og skrive det der.. Endret 14. november 2008 av Hans_Henrik Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå