型パラメーターをジェネリック型の基底クラスとして使用できません。型パラメーターに既定の型を割り当てることができません。構築された型はジェネリックとして使用できますが、ジェネリック型パラメーター自体はジェネリックにできません。パラメーターを使用できます。テンプレート内のすべての型パラメーターに対して有効でない可能性のあるコードを使用できます。このようなコードは、型パラメーターとして使用されている特定の型に対してチェックされます。制約を満たすすべての型で正常に動作するようにクラスのコードを記述する必要があります。使用し、これらの演算子をサポートしない型を使ってテンプレートをインスタンス化するとエラーを生成する関数を記述できます。このような関数は許可されません。許可される言語構成要素は、制約から推定できるものだけに限られます。テンプレートのいずれも、パラメーター化された型のサポートを提供する言語機能です。つにはさまざまな違いがあります。テンプレートのような複雑さがありません。提供されるわけではありません。ジェネリック型の代入は実行時に行われ、その結果、インスタンス化されたオブジェクトのジェネリック型情報が保存されるという点が最も大きな違いです。詳細については、「ランタイムのジェネリック」を参照してください。テンプレートの主な違いを以下に示します。テンプレートほど柔軟ではありません。クラスでは、ユーザー定義演算子は呼び出すことができますが、算術演算子を呼び出すことはできません。パラメーターを使用できません。