Re: Stupid objective-c question
Re: Stupid objective-c question
- Subject: Re: Stupid objective-c question
- From: Quincey Morris <email@hidden>
- Date: Wed, 21 Sep 2016 17:31:24 -0700
- Feedback-id: 167118m:167118agrif8a:167118sS5zSm_QeE:SMTPCORP
On Sep 21, 2016, at 17:05 , Gabriel Zachmann <email@hidden> wrote:
>
> In other words, the compiler unifies the two occurrences of the two literals, thus effectively storing only one literal?
Correct.
> 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 (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