const
あなたの場合は必要ありません
たとえば、コンパイラの観点でMatrix_A
は、クラスとMatrix_B
以下の両方が同じです。これは、とが人間の観点からは一定であるという事実を強制するためのものですが、必須ではありません。const
ROWNUM
COLNUM
template <class T, int const ROWNUM, int const COLNUM>
class Matrix_A
{
};
template <class T, int ROWNUM, int COLNUM>
class Matrix_B
{
};
さらに、次のクラスMatrix_C
も同様の定数変数ROWNUM
をCOLNUM
別の方法で指定します。
template <class T>
class Matrix_C
{
static int const ROWNUM = 5;
static int const COLNUM = 20;
};
// the following three objects use constant variables ROWNUM and COLNUM
Matrix_A<bool,5,20> a;
Matrix_B<bool,5,20> b;
Matrix_C<bool> c;