Jak powinienem być typedef
a template class
? Coś jak:Jak wpisywaćf szablon klasy?
typedef std::vector myVector; // <--- compiler error
znam 2 sposoby:
(1) #define myVector std::vector // not so good
(2) template<typename T>
struct myVector { typedef std::vector<T> type; }; // verbose
Czy mamy nic lepszego w C++ 0x?
Dlaczego tego chcesz? Jaki jest przypadek użycia? –
Wdrażam coś, w czym mam włączoną "klasę szablonów". Najpierw zaimplementuję go z klasami standardowymi, a następnie chcę przejść do własnych klas niestandardowych. Tak więc chcę, aby ten przełącznik był tak prosty, jak zmiana "typedef". – iammilind
Muszę się zgodzić z Davidem. Dlaczego chcesz to nazywać? Indywidualność jest główną przyczyną nieczytelnego i niemożliwego do utrzymania kodu. Jednak podałeś dobry powód, "Abstrakcja". Problem ze stl to API. Zapobiega określonym optymalizacjom. Utrzymywanie tego samego API i myślenie, że możesz zrobić to lepiej, jest niefortunne. Nie trzeba pisać całego dnia, by napisać swoją własną tablicę. po prostu zrób to i skończ z tym. Lub po prostu użyj STL i zabierz się za swoje życie. – Dan