C++, テンプレート

最近テンプレートで実装しようとしてやっぱり駄目だったってことが多いので,注意書きついでに.

特殊な場合を除いて,ほとんどの場合は

実装などもまるまるヘッダに書かなくてはならない

これはコンパイル時にコードを生成しなくてはならないことによる.

これがいがいとやっかいで,せっかくアクセスを制限した非メンバ変数や,コンパイルを早くするための工夫をいろいろと台無しにしてしまう.
(非メンバ変数は使わない方がいいし,それで実行が早くなるならコンパイルぐらい我慢しろとかそういうのは置いておいて.)

テンプレート関数ぐらいならまだ使いどころはたくさんあるものの,テンプレートクラスになってくると,大きいものはちょっと避けたくなる.

まだまだC++のテンプレートに対する知識が足りないのか,
そもそも,パレートの法則にあてはまるような20%のコードの性能を向上させるために使った方が良いのか,
アクセス制限に過敏になる必要はないのか,
コンパイルの速さなどさほど気にしてはいけないのか…

よくわからなくなってきた.
メタプログラミングとかできる人居ないかな.