C 11 での Constexpr 配列の作成: ウォークスルー
C プログラミングの領域では、時折、コンパイル時に定数値を持つ配列。これは、実行時に変更されない既知のサイズの配列を扱う場合に特に便利です。 C 11 は、このような配列を作成できる constexpr として知られる強力な機能を提供します。
次のシナリオを考えてみましょう。0 から指定された値 'n' までの整数の配列を定義したいとします。 C では通常、これを次のように表現できます:
int n = 5; int array[] = {0 ... n};
ただし、C 11 では、constexpr を使用してこれと同じ結果を達成し、コンパイル時に値が確実に認識されるようにすることができます。
効率的な初期化のために C 14 を採用
C 14 では、 constexpr 配列の作成プロセスを合理化するパラダイム シフト。 constexpr コンストラクターとループを利用すると、次のように配列を簡単に初期化できます。
#include <iostream> template<int N> struct A { constexpr A() : arr() { for (auto i = 0; i != N; ++i) arr[i] = i; } int arr[N]; }; int main() { constexpr auto a = A<4>(); for (auto x : a.arr) std::cout << x << '\n'; }
このコード スニペットでは、constexpr コンストラクターはコンパイル中に 0 から N-1 の範囲の値で arr 配列を初期化します。時間。この手法により、constexpr 配列が効率的に作成され、パフォーマンスが最大化され、実行時のオーバーヘッドが削減されます。
以上がC 11 と C 14 を使用してコンパイル時定数配列を作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。