Skip navigation.
 
mlRe: nil pointers
FROM : Bill Bumgarner
DATE : Tue Jul 11 19:59:57 2006

On Jul 11, 2006, at 10:41 AM, Uli Kusterer wrote:
> Am 11.07.2006 um 19:06 schrieb Bill Bumgarner:

>> NSArray *arrayIAmGoingToGetFromSomewhereMaybe = (id) 0x1;

>
>  Whoa! I think I'm going to request that that be made an official 
> constant:
>
> #define INVALID ((id) 0x01)
>
>  that guarantees an access exception. For platforms that have no 
> address that's guaranteed to be invalid, they could always create a 
> singleton that just dies on receiving any message.


You could likely also go for ((id) -1)-- whatever the magic cast 
would be-- as that should produce an address that cannot possibly be 
a pointer to anything as it is the very last byte of address space 
(no room for the other 3 bytes of the address).

For my purposes, 0x01 has always worked quite well.  I have often 
used it in my designated initializers to ensure that I'm not making 
unfortunate assumptions about the internal state of my object.  This 
also makes transitioning from single use objects to reuse-through-
reset much easier as you know that nothing depends on iVars being set 
to 0 upon instantiation.

b.bum

Related mailsAuthorDate
mlnil pointers Adam Johnson Jul 11, 04:59
mlRe: nil pointers John C. Randolph Jul 11, 05:11
mlRe: nil pointers Agent M Jul 11, 05:26
mlRe: nil pointers j o a r Jul 11, 09:19
mlRe: nil pointers Uli Kusterer Jul 11, 18:20
mlRe: nil pointers Rob Ross Jul 11, 18:40
mlRe: nil pointers Todd Ransom Jul 11, 18:52
mlRe: Re: nil pointers Shawn Erickson Jul 11, 18:57
mlRe: nil pointers Andreas Mayer Jul 11, 19:00
mlRe: nil pointers Bill Bumgarner Jul 11, 19:06
mlRe: nil pointers Uli Kusterer Jul 11, 19:41
mlRe: nil pointers Bill Bumgarner Jul 11, 19:59
mlRe: nil pointers Nat! Jul 11, 20:06
mlRe: nil pointers glenn andreas Jul 11, 20:07
mlRe: nil pointers Uli Kusterer Jul 12, 00:42
mlRe: nil pointers Bill Bumgarner Jul 12, 00:52