title: Which is the better practice: global constant or #define?
body: <blockquote>
    <p><strong>Possible Duplicate:</strong><br>
    <a href="https://stackoverflow.com/questions/4767667/c-enum-vs-const-vs-define">C++ - enum vs. const vs. #define</a>  </p>
  </blockquote>
  
  
  
  <p>Before I used <code>#define</code> I used to create constants in my main function and pass them where they were needed. I found that I passed them very often and it was kind of odd, especially array sizes.</p>
  
  <p>More recently I have been using <code>#define</code> for the reason that I don't have to pass constants in my main to each individual function.</p>
  
  <p>But now that I think of it, I could use global constants as well, but for some reason I have been a little hesitant towards them.</p>
  
  <p>Which is the better practice: global constants or <code>#define</code>?</p>
  
  <p>A side question, also related: Is passing constants from my main as I described a bad practice?</p>