いくつかの特定の型パラメーターのみを受け入れるテンプレートクラス ( と呼びましょうFoo) を作成したいと思います ( と のみdoubleとしましょうfloat)。通常、テンプレートはヘッダー ファイル ( .h) に実装されます。これは、ユーザー コードでテンプレートがどのようにインスタンス化されるかがわからないためです。.cppこの場合、次のように実装ファイル ( )でクラスを実装する方が理にかなっています。
// Foo.cpp:
template <class T>
class Foo
{
// Insert members here
};
typedef Foo<double> Foo_d;
typedef Foo<float> Foo_f;
これにより、Foo.cpp のコンパイル時にクラスがインスタンス化およびコンパイルされます。Foo_dしかし、との別々の宣言を書かずにヘッダーファイルでこれを宣言するにはどうすればよいFoo_fですか?