C++ 標準の第 14 章 (テンプレート) では、コンテキストに応じていくつかの異なる名前を持つテンプレート パラメーターを参照します。
非型パラメータ
template<int N>
class foo {};
テンプレート パラメータ
template<typename T>
class bar {};
型パラメータ
?????
以下のこの引用では、これらが 3 つの異なるものであるように見えますが、型パラメーターとは何かわかりません。
14.1 テンプレートパラメータ [temp.param]
9 ... デフォルトのテンプレート引数は、テンプレート パラメーター パック (14.5.3) ではない任意の種類のテンプレート パラメーター(型、非型、テンプレート)に対して指定できます。...
ここでは、テンプレート パラメーターに 3 つの異なる名前があることがわかります。template-parameterが他の 2 つの一般化である場合、なぜそれを上記のリストに含めたのでしょうか。
セクション 14.1.2 では、それらを単にtypeおよびnon-typeとして参照し、テンプレート パラメータを一般化として参照しています。
それで、それは何ですか?誰か説明できますか?