ZamiastDlaczego musimy zrobić szablon <class/typename> T, a nie tylko szablon T
template <typename T>
void func(T arg) {/* something */}
dlaczego nie możemy zrobić
template <T>
void func(T arg) {/* something */}
Od cplusplus.com:
Jedyną różnicą między prototypami jest użycie klasy słów kluczowych lub słowa kluczowego nazwatypu. Jego użycie jest niewyraźne, ponieważ oba wyrażenia mają dokładnie to samo znaczenie i zachowują się dokładnie tak samo, jak w przypadku metody .
To po prostu wydaje mi się niepotrzebną podstawą dla mnie.
Lub nawet "szablon>", aby pokazać wszystkie trzy możliwe argumenty szablonu. –
MSalters