Zwykłe elemencie szablonu można specjalistycznej, npużyciu specjalizację szablonu
template<typename T>
struct X{};
template<>
struct X<int>{};
C++ 11 dał nam nową zimną składni using
do wyrażania typedefs Szablon:
template<typename T>
using YetAnotherVector = std::vector<T>
Czy istnieje sposób, aby zdefiniować specjalizację szablonów dla tych przy użyciu konstruktów podobnych do specjalizacji dla szablonów struct? Próbowałem następujące:
template<>
using YetAnotherVector<int> = AFancyIntVector;
, ale przyniósł błąd kompilacji. Czy to w jakiś sposób jest możliwe?
AFAIK, potrzebujesz do tego klasy backendu. Ukryj wyspecjalizowaną "strukturę", a następnie utwórz alias przy użyciu tej klasy. – chris
Nie jestem pewien, czy śledzę, co jest nie tak z 'typedef YetAnotherVector AFancyIntVector'? –
slaphappy
@ Mr.kbok: Używanie wyciągu razem z używaniem powoduje błąd kompilacji "wiele typów w jednej deklaracji" – gexicide