C テンプレート Typedef: 特殊な行列としてのベクトルの作成
typedef を定義して、指定された次元の行列と同等のベクトルを作成できます。挑戦的であること。解決策を探ってみましょう。
クラス テンプレート行列
typedef Matrix<N, 1> Vector<N>;
のような従来の typedef メカニズムを使用すると、コンパイル エラーが発生します。代わりに、C 11 では、テンプレートを許可するエイリアス宣言を導入しています。
template <size_t N> using Vector = Matrix<N, 1>;
この宣言では、型 Vector<3> が使用されます。
C 03 では、ネストされた typedef を通じて近似が可能でした:
template <size_t N> struct Vector { typedef Matrix<N, 1> type; };
ここでは、Vector::type は同等になります。マトリックス に。このアプローチは、C 11 構文ほど簡潔ではありませんが、以前のバージョンの C で実行可能な代替手段を提供します。
以上がTypedefs を使用して C でベクトル型を特殊な行列として定義するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。