天つゆより塩のほうが好み
って天ぷらの話じゃなくてテンプレートの話なんですが。
C++は僕の中では一番長く使っている言語なのですが、恥ずかしながら昨日初めてtemplateを使いました。いやーだって個人で作ってるとあんまり使う機会がないじゃないですか。そんなことないですか。
使ってみてマクロの親戚っぽいニオイを感じました。でもマクロはソースの文字列を置き換えるだけなんでちょっと違いますね。*1
テンプレートメタプログラミング、ちょっと調べてみましたがおもしろいですね。
メタ関数では、引数として型または定数値を受け取り、返却値として型または定数値を返します。
http://cppemb.blog17.fc2.com/blog-entry-90.html
この解説で感覚がつかめました。型に関する処理を書けるのが強力そうです。配列の各要素に対するforループの展開は僕も昨日作りました。
つーかこれ、もはやC++じゃねえ! 普通のC++の文法がうずまきナルトならテンプレートメタプログラミングは九尾。