C++23中if consteval / if not consteval (P1938R3) 详解
引言在C++的发展历程中,编译时计算一直是一个重要的特性,它可以提高程序的性能和安全性。C++20引入了consteval和std::is_constant_evaluated()等特性,前者用于声明必须在编译期间完成调用的立即函数,后者用于检查当前是否处于常量求值上下文。而在C++23中,进一步引入了ifconsteval和ifnotconsteval语法,使得在代码中区分编译时和运行时行为变得