IT-lexicon › Programmeren › constexpr

constexpr

Programmeren Svenska → Bijgewerkt: 2026-10-03

Het sleutelwoord dat aangeeft dat iets tijdens het compileren geëvalueerd mag worden. Bij een functie betekent het mag, niet moet — de bron van de meeste verwarring.

Een constexpr-functie die met constante argumenten wordt aangeroepen in een context waar een constante vereist is, wordt door de compiler uitgerekend; met gewone variabelen draait ze tijdens runtime als elke andere functie. Dezelfde code, twee levens. De mogelijkheden zijn stapsgewijs uitgebreid: C++11 stond slechts één returnstatement toe, C++14 liet lussen, vertakkingen en lokale variabelen toe, en C++20 maakte dynamische allocatie en virtuele aanroepen tijdens constante evaluatie mogelijk, plus std::is_constant_evaluated() om te kunnen vertakken op de context waarin je zit. Wie compileertijd wil afdwingen, gebruikt consteval; constinit garandeert initialisatie tijdens het compileren zonder de waarde constant te maken. In de praktijk betekent de trend dat opzoektabellen en parsers naar de build zijn verhuisd.

← Terug naar het lexicon