Как задать параметр шаблона через переменную
Код:
template<class float_double, unsigned int MatrixSize>struct MATRIX_POINTERS
Код:
if(1)
MATRIX_POINTERS<float, XMatrixSize> * matrixPointers = new MATRIX_POINTERS<float, XMatrixSize>;
else
MATRIX_POINTERS<double, XMatrixSize> * matrixPointers = new MATRIX_POINTERS<double, XMatrixSize>;
MATRIX_POINTERS<float, XMatrixSize> * matrixPointers = new MATRIX_POINTERS<float, XMatrixSize>;
else
MATRIX_POINTERS<double, XMatrixSize> * matrixPointers = new MATRIX_POINTERS<double, XMatrixSize>;
Тоесть чтоб было что-то типа:
Код:
if(1)
type T = float ;
else
type T = double;
MATRIX_POINTERS<T, XMatrixSize> * matrixPointers = new MATRIX_POINTERS<T, XMatrixSize>;
type T = float ;
else
type T = double;
MATRIX_POINTERS<T, XMatrixSize> * matrixPointers = new MATRIX_POINTERS<T, XMatrixSize>;
Цитата: Frenzyk
А с пмощью каких дирректив можно было сделать?
Код:
#define INT
#ifdef INT
mytemplate <int> a;
#else
mytemplate <double> a;
#endif
#ifdef INT
mytemplate <int> a;
#else
mytemplate <double> a;
#endif
имхо 2 решения:
1) Препроцессорные директивы (оставить шаблонную реализацию) <- тип данных в рантайме не поменяешь
2) Наследование (переделать в классы) <- для каждого типа данных придется определять класс
А с пмощью каких дирректив можно было сделать?