From kde-core-devel Wed Jun 21 16:28:22 2006 From: Lubos Lunak Date: Wed, 21 Jun 2006 16:28:22 +0000 To: kde-core-devel Subject: Re: 0 or 0L for empty pointers? Message-Id: <200606211828.23169.l.lunak () suse ! cz> X-MARC-Message: https://marc.info/?l=kde-core-devel&m=115090731411534 On Tuesday 20 June 2006 20:02, Friedrich W. H. Kossebau wrote: > Hello, > > looking through some apis from trunk I see a lot of 0L for empty pointers. > I do not remember where I read it, but shouldn't it be never 0L and always > 0 for pointers? In fact you should be using NULL and not 0 or 0L, because with some compilers like gcc NULL is a real null pointer and allows the compiler to catch some stupid mistakes. 0 and 0L are integers that just happen to be converted to a null pointer if the compiler sees no other way (besides, I can't resists mentioning it, using 0 instead of NULL is about as C++-ish as using 0,1,2 instead of an enum). If you want to know what Stroustrup himself thinks about it just read the doc mentioned in the of the comments at http://www.kdedevelopers.org/node/1636 (short summary: 0 or 0L as null pointer suck, NULL sucks too but less, next C++ revision is likely going to have nullptr as null pointer). > IIRC it was something with sizeof(long)==sizeof(void*) not always true. Any > experts? If you really want a pointer, like with variadic functions, you have to explicitly cast it to a pointer anyway. > Perhaps this could be added to the KDE Library Code Policy then... > > Regards > Friedrich -- Lubos Lunak KDE developer --------------------------------------------------------------------- SuSE CR, s.r.o. e-mail: l.lunak@suse.cz , l.lunak@kde.org Drahobejlova 27 tel: +420 2 9654 2373 190 00 Praha 9 fax: +420 2 9654 2374 Czech Republic http://www.suse.cz/