テンプレートの使いどころ
Posted: 2014年10月14日(火) 14:40
お久しぶりです。
いろいろ事情があってロムってました。
本題ですが、いまテンプレートの勉強をしているのですが、
なかなか使いどころが思いつきません。
使い方はある程度まで理解しました。
たとえば、関数Print() をテンプレート化して として汎用的な関数を作れますが、私の知るところでは、このTにくる型が
int,double,stringくらいのものしか知らず、これくらいだったら
わざわざ難しくしなくてもいいんじゃないかと思ってます。
(できるんならやったほうがいいの?)
でも、実際は string 型がきたとした場合、上のコードではダメなので
特殊化すると思います。
さらにオリジナルのクラスだったら
とか、結局は特殊化すると思うんです。
それで、テンプレートプログラミング経験者としてどういった場合に
特に効力を発揮するのでしょうか?
ある例をあげていただいて、参考までに聞きたいです。
いろいろ事情があってロムってました。
本題ですが、いまテンプレートの勉強をしているのですが、
なかなか使いどころが思いつきません。
使い方はある程度まで理解しました。
たとえば、関数Print() をテンプレート化して として汎用的な関数を作れますが、私の知るところでは、このTにくる型が
int,double,stringくらいのものしか知らず、これくらいだったら
わざわざ難しくしなくてもいいんじゃないかと思ってます。
(できるんならやったほうがいいの?)
でも、実際は string 型がきたとした場合、上のコードではダメなので
特殊化すると思います。
void Print( string str )
{
printf( "%s\n", str.c_str() );
cout << str << endl; // これがいいんだけど・・・
}
それで、テンプレートプログラミング経験者としてどういった場合に
特に効力を発揮するのでしょうか?
ある例をあげていただいて、参考までに聞きたいです。