ppt - Plantilla C++ typedef
typedef ppt (1)
C ++ 11 agregó declaraciones de alias , que son generalización de typedef
, permitiendo plantillas:
template <size_t N>
using Vector = Matrix<N, 1>;
El tipo Vector<3>
es equivalente a Matrix<3, 1>
.
En C ++ 03, la aproximación más cercana fue:
template <size_t N>
struct Vector
{
typedef Matrix<N, 1> type;
};
Aquí, el tipo Vector<3>::type
es equivalente a Matrix<3, 1>
.
Tengo una clase
template<size_t N, size_t M>
class Matrix {
// ....
};
Quiero hacer un typedef
que crea un Vector
(vector de columna) que es equivalente a una Matrix
con tamaños N y 1. Algo así:
typedef Matrix<N,1> Vector<N>;
Lo que produce error de compilación. Lo siguiente crea algo similar, pero no exactamente lo que quiero:
template <int N>
class Vector: public Matrix<N,1>
{ };
¿Existe una solución o una solución alternativa no demasiado costosa para ella?