IT用語集 › プログラミング › consteval

consteval

プログラミング Svenska → 更新: 2026-10-21

コンパイル時に実行されなければならない関数を示すキーワード。「実行してもよい」としか言わないconstexprの欠けていた半分である。

この違いは見た目以上に大きい。constexpr関数は、何らかの理由でコンパイル時に評価できないと、黙って通常のランタイム呼び出しにフォールバックする。それがまさに望みのこともあれば、プロファイルで初めて気づく見えない性能低下のこともある。constevalなら同じ状況がコンパイルエラーになるので、頼れる保証になる。最も広まった使い道は検証で、書式文字列を引数に照らしてコンパイル時に調べ、間違っていれば弾く。std::formatの検査はまさにこの仕組みである。ほかにも、完成したバイナリに存在してはならないテーブルなどに使う。C++23では、constexprコードからこうした関数を呼ぶ際の規則が緩和された。

← 用語集に戻る