On Sep 21, 2016, at 17:05 , Gabriel Zachmann <z...@tu-clausthal.de> wrote:
> In other words, the compiler unifies the two occurrences of the two literals, 
> thus effectively storing only one literal?


> So what would be the proper way to do it?

A global variable has a fixed, unique memory address, so you can do this:

        static int MyContext; 
        // does not need to be extern, just defined at the top level scope of 
some file, usually the relevant class implementation .m file
        // type doesn’t matter, because the value is never used

But you can take advantage of a C quirk and actually write this:

        static void* MyContext = &MyContext;

This has the interesting property that MyContext == &MyContext, which means you 
don’t have to worry about remembering the “&" operator when passing or testing 
the “context” parameter.


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:

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

Reply via email to