私は現在 C++ テンプレートを勉強していますが、理解できないことがあります。これまでのところ、次のジェネリック クラスがあるかどうかはわかります
template <class T> class A{
...
}
クラスの特定の特殊化を提供するには、たとえばint
オブジェクトに対して、次のように定義します。
template<> class A<int>{
...
}
ただし、次のようなケースが見られます。
元のクラスは、
template <class T, int Size> class buffer{
...
}
次に、タイプのオブジェクトの特殊化されたクラスint
は、
template <int Size> class buffer<int, Size>{
...
}
の仕様が次のとおりではない理由について、私は混乱してint
います:
template<> class bufffer<int, int Size>{
...
}
誰か説明してくれませんか。