Le 12 juin 2013 à 10:14, Oleg Krupnov <oleg.krup...@gmail.com> a écrit :

>> there isn't enough address space to create a NSArray containing even 
>> NSIntegerMax pointers.
> 
> I knew someone will say this. Who needs more than 640 KB RAM after
> all? :) © Bill Gates
> 

This has nothing to do with the amount of available RAM. The limitation is with 
the virtual memory system.
If you can have 2^64 bytes of address space, you can a max store "2^64 / 
sizeof(void *)" pointers.

> What if I have sparse array etc.

If you have sparse array, so just don't write it using NSNotFound. We are 
talking about a well defined class and well defined API, not a potential non 
existing API that can use the wrong constant.

> One higher bit is actually twice as many elements. Why having
> NSUInteger at all if you can't use more than NSIntegerMax? This
> doesn't seem right.

Because you want to use an unsigned number to defined the number of element 
(having a negative number of elements does not make sense), and it is pointless 
and inefficient to to defined and used a 56bit integer type on actual 
architectures.

-- Jean-Daniel





_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to