私はテンプレートをいじってそれらの感触をつかみましたが、独自の型でクラスの特殊化を行いたいと考えていました。しばらくインターネットを検索しましたが、これについての言及は見つかりませんでした。
たとえば、私が持っている場合class Array
:
template<class T>
class Array{
...
void print();
}
print()
メソッドを特殊化することは可能T=Array<unspecified type>
ですか?
template<class T>
void Array<Array<T>>::print(){
//do something diffrent for array of array
//this code wont work
}
私はこれを行うことができました
template<>
void Array<Array<int>>::print(){
//print in matrix format
//this code works
}
この機能が非常に便利だとは思いませんが、それでも興味がありました