コンパイル時の計算は、パフォーマンスを向上させるためにプログラム実行中に計算される部分の代わりにコンパイラによって計算できるものです。反復計算は、プログラムの実行時には可能ですが、コンパイル時には実行できません。ひとつの面倒で具体的な例はVariadic Templatesですが、標準とコンパイラが提供するさまざまな型を処理する反復について自然に考えていますが、プログラマはそれらを再帰的に処理する必要があります。コンパイル時の計算の繰り返し可能性
一般に、すべてのコンパイル時の計算は反復ではなく再帰によって処理されます。私が知る限り、コンパイル時に計算されると予想されるconstexpr関数は再帰的であると考えられます。何がコンパイル時に禁止されているのですか?
再帰は繰り返しの一種です。 – rici
'std :: integer_sequence'を使うこともできます –
' constexpr'関数のためにC++ 14では正規反復が許されています。問題は、関数が 'constexpr'であることをチェックすることです。再帰と反復は簡単です。 – Jarod42