<span class="hljs-meta">#<span class="hljs-meta-keyword">include</span> <span class="hljs-meta-string"><iostream></span></span> <span class="hljs-meta">#<span class="hljs-meta-keyword">define</span> foo 1<<16</span> <span class="hljs-meta">#<span class="hljs-meta-keyword">ifdef</span> DEBUG</span> <span class="hljs-function">TYPE1 <span class="hljs-title">foo</span><span class="hljs-params">(<span class="hljs-keyword">void</span>)</span> <span class="hljs-meta">#<span class="hljs-meta-keyword">else</span></span> <span class="hljs-keyword">int</span> <span class="hljs-title">foo</span><span class="hljs-params">(<span class="hljs-keyword">void</span>)</span> <span class="hljs-meta">#<span class="hljs-meta-keyword">endif</span></span> </span>{ } <span class="hljs-meta">#<span class="hljs-meta-keyword">define</span> x(v) ((v))</span> <span class="hljs-meta"># <span class="hljs-meta-keyword">define</span> x(v) ((v))</span> <span class="hljs-meta"># <span class="hljs-meta-keyword">define</span> x(v) ((v))</span> <span class="hljs-meta">#<span class="hljs-meta-keyword">if</span> MACRO_WITH_STRING_ARG(<span class="hljs-meta-string">"hello \"world\""</span>)</span> <span class="hljs-meta">#<span class="hljs-meta-keyword">elif</span> MULTI_LINE <span class="hljs-comment">/* comment */</span> < \ EXPRESSION</span> <span class="hljs-keyword">int</span> bar; <span class="hljs-meta">#<span class="hljs-meta-keyword">endif</span> <span class="hljs-comment">// comment</span></span>