title: Is it necessary to undef macros within function?
body: <p>I've seen many times code like this:</p>
  
  <pre><code>void func(){
    #define a ...
    ...
    #undef a
  }
  </code></pre>
  
  <p>Is the <code>#undef</code> necessary at all?</p>