usar texto teclado rapido practicar para paginas online mecanografia gratis escribir ejercicios ejemplos dactilografia computarizada c++ templates c++11 typedef

c++ - teclado - mecanografia online gratis ejercicios de texto



Cómo tipear una clase de plantilla? (2)

En C ++ 03 puedes heredar de una clase (pública o privada) para hacerlo.

template <typename T> class MyVector : public std::vector<T, MyCustomAllocator<T> > {};

Necesita hacer un poco más de trabajo (Específicamente, copiar constructores, operadores de asignación) pero es bastante factible.

Esta pregunta ya tiene una respuesta aquí:

¿Cómo debo typedef una template class ? Algo como:

typedef std::vector myVector; // <--- compiler error

Sé de 2 maneras:

(1) #define myVector std::vector // not so good (2) template<typename T> struct myVector { typedef std::vector<T> type; }; // verbose

¿Tenemos algo mejor en C ++ 0x?


Sí. Se llama una " plantilla de alias " y es una nueva característica en C ++ 11.

template<typename T> using MyVector = std::vector<T, MyCustomAllocator<T>>;

El uso sería exactamente como esperabas:

MyVector<int> x; // same as: std::vector<int, MyCustomAllocator<int>>

GCC lo ha soportado desde 4.7 y Clang lo tiene desde 3.0.