Compile-time の定数は、C と C++ のコンパイルプロセス中に決定される値です。プログラムの実行中に変更しない固定値を定義するために使われ、コンパイラの最適化とコードの読みやすさを改善できます。

コンパイル時の定数とは?

Compile-time の定数は、プログラムがコンパイルされたときに知られ、固定される変数または値です。 それらは、通常、実行時に変更しないべき固定パラメータ、配列サイズ、または設定オプションを定義するために使われます。

#define のプリプロセッサのディレクティブを使用して下さい

ディレクティブはコンパイル時に名前を値に置き換えるマクロを作成します。 メモリを割り当てることなく定数を定義する簡単な方法です。

事例:

[]

制約キーワードの使用

[ キーワードは、初期化後に値が変更できない変数を宣言します。 []と比較して、タイプ安全とより良いデバッグサポートを提供します。

事例:

[]]

C++でconstexprを使う

C++では、コンパイル時に値や関数が評価できると、 が指定されます。 よりも強力で、複雑な式でコンパイル時の定数を定義するために使われます。

事例:

[]

ベストプラクティス

  • コンパイル時にC++でを使う。
  • 型式安全のため[をに優先します。
  • 明確に意味のある名前で定数を定義します。
  • 複雑な式にマクロを使用しないでください。