テンプレート引数
クラス テンプレートの概要:インデックス への移動
複数の引数はクラステンプレート宣言の一部として使えます。また,テンプレート引数としてデータ型のほかに値も使えます。
template<class T,int size = 64> class Buffer { ... };
size のような型なしのテンプレート引数と,型付きの引数はともにデフォルトの値を持ちます。名前指定のテンプレート引数に渡す値は定数式でなければなりません。
const int N = 128;
int i = 256;
Buffer<int, 2*N> b1;// OK
Buffer<float, i> b2;// エラー: i は定数でない
テンプレートクラスの各インスタンスはクラスなので,それぞれに静的メンバーがあります。同じように,テンプレート関数には静的なローカル変数があります。