template ppt enum c++ templates c++11 typedef

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?