クラス テンプレートでの静的データ メンバーの定義
クラス テンプレートを使用する場合、そうでない静的データ メンバーを宣言するという課題が発生する場合があります。一体型です。これは、クラス テンプレート内に存在する静的データ メンバーに依存するコードがあるが、そのテンプレート パラメーターによって決定されない場合に発生します。
この問題に対する 1 つの解決策は、ヘッダー ファイルで静的データ メンバーを定義することです。クラステンプレートが宣言されている場所。これにより、メンバーがテンプレート クラス定義の外で宣言され、個別に初期化できるようになります。
たとえば、次のクラス テンプレートを考慮します。
template <typename T> struct S { ... static double something_relevant; };
静的メソッドを定義できます。次のように、同じヘッダー ファイル内にデータ メンバー something_relevant を追加します。
template <typename T> double S<T>::something_relevant = 1.5;
このアプローチでは、静的データ メンバーの定義がクラスから分離されます。テンプレートを使用して、それを個別に初期化できるようにします。さらに、これはテンプレートの一部であるため、コンパイラはそれが 1 回だけ定義されることを保証し、複数の定義を防ぎます。
以上がC クラス テンプレートで非整数の静的データ メンバーを定義するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。