std::is_constant_evaluated Library in C++20
Understand the details of 'std::is_constant_evaluated' with an example.
The function std::is_constant_evaluted
determines whether the function is executed at compile time or run time. Why do we need this function from the type-traits library? In C++20, we have roughly spoken of three kinds of functions:
-
consteval
declared functions run at compile time:consteval int alwaysCompiletime();
-
constexpr
declared functions can run at compile time or run time:constexpr int itDepends();
-
usual functions run at run time:
int alwaysRuntime();
Now, I have to write about the complicated case: constexpr
. A constexpr
function can run at compile time or run time. Sometimes these functions should behave differently, depending on whether the function is executed at compile time or run time. A constexpr
function such as getSum
has the potential to run at compile time.
Get hands-on with 1400+ tech skills courses.