title: When should you use constexpr capability in C++11?
body: <p>It seems to me that having a "function that always returns 5" is breaking or diluting the meaning of "calling a function".  There must be a reason, or a need for this capability or it wouldn't be in C++11.  Why is it there? </p>
  
  <pre><code>// preprocessor.
  #define MEANING_OF_LIFE 42
  
  // constants:
  const int MeaningOfLife = 42;
  
  // constexpr-function:
  constexpr int MeaningOfLife () { return 42; }
  </code></pre>
  
  <p>It seems to me that if I wrote a function that return a literal value, and I came up to a code-review, someone would tell me, I should then, declare a constant value instead of writing return 5.</p>