On Jan 26, 2009, at 8:14 AM, Jean-Daniel Dupas wrote:
There's no real way to enforce privateness, either in Objective-C or C++.

Why not in C++?


And why not in Obj-C ? The new runtime (64 bits, non-fragile) declare a symbol for each ivar. Private ivars are not exported by default, so you cannot access them without running into a linker error.


But you can use valueForKey:.

That said, if you know the layout of a specific object (either in C+ + and Obj-C) you can cast it into a blob and access the memory directly. That's maybe why he said you cannot enforce privateness.


The layout for 64 bit new runtime objects is not defined (and due to the non-fragile part, isn't even fixed at compile or link time, so you'd have to munge your way through undocumented data structures - better off just using KVC).


Glenn Andreas                      gandr...@gandreas.com
 <http://www.gandreas.com/> wicked fun!
quadrium | prime : build, mutate, evolve, animate : the next generation of fractal art



_______________________________________________

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

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

Reply via email to