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