Quick A: When you want to potentially evaluate a calculation at compile time. You can do much, much more than just "return 5;
".
When should you use constexpr capability in C++11?
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?
// preprocessor. #define MEANING_OF_LIFE 42// constants: const int MeaningOfLife = 42;// constexpr-function: constexpr int MeaningOfLife () { return 42; }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.
Add a Comment
Comments are closed.