Reference:
https://vsdmars.blogspot.com/2022/06/cc20-consteval-constexpr.html
Use case: https://godbolt.org/z/a7v15TrWK
#include <type_traits>
constexpr bool ConstExpr() {
return std::is_constant_evaluated();
}
consteval bool ConstEval() {
return std::is_constant_evaluated();
}
void Fun(bool b) {}
int main() {
const bool cbool = ConstExpr(); // True
ConstExpr(); // False; here we can't force ConstExpr() to run as const expression.
bool cbool_2 = ConstEval(); // True
ConstEval(); // True
Fun(ConstEval());
}
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.