• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: !foo vs foo == nil
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: !foo vs foo == nil


  • Subject: Re: !foo vs foo == nil
  • From: Andrew Farmer <email@hidden>
  • Date: Wed, 20 Aug 2008 20:31:59 -0700

On 20 Aug 08, at 20:06, Michael Ash wrote:
On Wed, Aug 20, 2008 at 8:34 PM, Douglas Davidson <email@hidden> wrote:
Well, after all, zero is zero, how much difference can it make? Quite a
bit, as it turns out, since in 64-bit one of them is four bytes of zero, and
the other is eight bytes of zero. If you're just comparing against NULL, it
doesn't matter, but if you're using it in something where size counts--say,
a list of vararg arguments--then it matters a lot. It's not easy to debug,
though, because who would think that you need to distinguish one NULL from
another?

It is a little known fact that when passing NULL (and by extension nil or Nil) as a parameter to a vararg function, you *must* cast it to the appropriate pointer type to guarantee correct behavior.

Source (and, preferably, example) please? A pointer is a pointer is a pointer; the internal representation of (char *) NULL is identical to (void *) NULL or (NSRect *) NULL or (id) nil or what-have-you.
_______________________________________________


Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


  • Follow-Ups:
    • Re: !foo vs foo == nil
      • From: "Clark Cox" <email@hidden>
References: 
 >!foo vs foo == nil (From: Torsten Curdt <email@hidden>)
 >Re: !foo vs foo == nil (From: Filip van der Meeren <email@hidden>)
 >Re: !foo vs foo == nil (From: Torsten Curdt <email@hidden>)
 >Re: !foo vs foo == nil (From: "Michael Ash" <email@hidden>)
 >Re: !foo vs foo == nil (From: Douglas Davidson <email@hidden>)
 >Re: !foo vs foo == nil (From: "Michael Ash" <email@hidden>)

  • Prev by Date: Re: !foo vs foo == nil
  • Next by Date: Re: !foo vs foo == nil
  • Previous by thread: Re: !foo vs foo == nil
  • Next by thread: Re: !foo vs foo == nil
  • Index(es):
    • Date
    • Thread