Léxico TI › Programación › consteval

consteval

Programación Svenska → Actualizado: 2026-10-05

Palabra clave de C++20 que obliga a que una función se evalúe en tiempo de compilación. La otra mitad de constexpr, que sólo permite compilación pero no la obliga.

La diferencia importa más de lo que parece. Una función constexpr que no se puede evaluar en compilación se retrae silenciosamente a una llamada ordinaria en tiempo de ejecución, lo que puede ser exactamente lo que queremos — o una sorpresa de rendimiento oculta que descubrimos recién en un perfil. Con consteval, la misma situación genera un error de compilación, una garantía en la que puedes confiar. El uso más común es validación: una cadena de formato puede verificarse contra sus argumentos en compilación y rechazarse si es incorrecta, exactamente el mecanismo detrás de la verificación en std::format. Otros casos incluyen tablas que no pueden existir en el binario final. C++23 flexibilizó las reglas para llamar estas funciones desde código constexpr.

← Volver al léxico