<p>I'm learning objective-C and Cocoa. In the Apple tutorial I'm working through there's a side note that says: </p>

<blockquote>
  <p><code>IBOutlet</code> is a null-defined macro, which the C preprocessor removes at compile time.</p>
</blockquote>

<p>I'm curious - what's a null-defined macro?</p>

[{'answer_id': 22003, 'author': 'Greg Hewgill', 'author_id': 893, 'author_profile': 'https://Stackoverflow.com/users/893', 'pm_score': 3, 'selected': False, 'text': '<pre><code>#define IBOutlet\n</code></pre>\n\n<p>Whenever IBOutlet is used in program text, it will be replaced with nothing at all.</p>\n'}, {'answer_id': 22455, 'author': 'Matt Dillard', 'author_id': 863, 'author_profile': 'https://Stackoverflow.com/users/863', 'pm_score': 3, 'selected': False, 'text': "<p>FYI, in this particular case, the reason the <code>IBOutlet</code> even exists is simply so that Interface Builder can parse the source file and glean bits of understanding from it.  It's a clue (well, a bit stronger than a clue) that the variable preceded by <code>IBOutlet</code> should show up as an Outlet in Interface Builder when designing your UIs.</p>\n"}, {'answer_id': 45364, 'author': 'botismarius', 'author_id': 4528, 'author_profile': 'https://Stackoverflow.com/users/4528', 'pm_score': 3, 'selected': False, 'text': "<p>A null-defined macro is a macro which will be replaced by nothing (will be removed) by the preprocessor. It's role is to give a hint about something in code, such as:</p>\n\n<pre>\n#define IN\n#define OUT\n#define INOUT\n\nint myFunction(IN char *name, INOUT char *address, OUT char *phone);\n</pre>\n\n<p>This declaration suggests that <code>name</code> is a input variable for the function, <code>address</code> is both input and output, <code>phone</code> is an output variable.</p>\n"}, {'answer_id': 146270, 'author': 'schwa', 'author_id': 23113, 'author_profile': 'https://Stackoverflow.com/users/23113', 'pm_score': 0, 'selected': False, 'text': "<p>Also - if you're unsure how anything is defined - command double-click it and Xcode will open the definition in the original source file.</p>\n"}, {'answer_id': 146273, 'author': 'schwa', 'author_id': 23113, 'author_profile': 'https://Stackoverflow.com/users/23113', 'pm_score': 0, 'selected': False, 'text': "<p>Oh and while I'm at it. Option double click will (attempt to) open up the documentation for the double clicked symbol.</p>\n"}]
['https://Stackoverflow.com/questions/22001', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/-1/']