Aussie AI
Constant Expressions Specifier
-
Book Excerpt from "Generative AI in C++"
-
by David Spuler, Ph.D.
Constant Expressions Specifier
The constexpr
keyword is an optimization hint for the compiler that's more powerful than “const
."
Whereas const
only guarantees that something won't change,
constexpr
is a guarantee by the human that something can be evaluated at compile-time.
The compiler should use the constexpr
hint to try to propagate constant values
throughout the evaluation of expressions and function calls, producing an overall speedup.
However, if the compiler doesn't have the capability to do the level of compile-time optimization required,
or if the human has told the machine a bald-faced lie, there's no penalty
and the code just runs like it never had a constexpr
specifier.
There's not a whole lot of difference between const
and constexpr
if you use it only for named constants:
const float PI = 3.14f; constexpr float PI = 3.14f; // Same same
• Next: • Up: Table of Contents |
The new AI programming book by Aussie AI co-founders:
Get your copy from Amazon: Generative AI in C++ |