Questions about const and ifdef
<blockquote>
  <p><strong>Possible Duplicates:</strong><br>
  <a href="http://stackoverflow.com/questions/3744608/the-role-of-ifdef-and-ifndef">the role of #ifdef and #ifndef</a><br>
  <a href="http://stackoverflow.com/questions/455518/how-many-and-which-are-the-uses-of-const-in-c">How many and which are the uses of &ldquo;const&rdquo; in C++?</a>  </p>
</blockquote>



<p>I am new to this field and I am just not getting certain functions or concepts.</p>

<p>For example, I have this code:</p>

<pre><code>#ifdef directory
</code></pre>

<p>Now, we could use a simple <code>if</code> condition in the program.  So why is <code>#ifdef</code> used?  I don't get it.</p>

<p>I also have a question about <code>const</code>.  I have studied some papers, but they just explain how to use it but I did not find any reason why.  </p>

<p>For example, this is not clear to me:</p>

<pre><code>const void operator=(const point&amp; other);
</code></pre>

<p>Here, I think this is a function called by reference.  That means this function says that <code>operator =</code> takes a reference to its argument so <code>other</code> will behave as ordinary variable inside this function.  And <code>const</code> is used to indicate that the parameter will not change the actual value of the argument.  But then why is <code>const</code> used before <code>void</code>?</p>
