_Fire_of_Death_
Мыслитель
(5475)
6 месяцев назад
В контексте шаблонов C++, template<class T> и template<typename T> являются абсолютными синонимами и могут использоваться взаимозаменяемо. Изначально в языке C++ использовалось ключевое слово class, но позже было добавлено typename для уменьшения путаницы, так как class уже использовалось в других контекстах. Стандарт C++ допускает использование обоих вариантов, но рекомендует использовать typename. Однако, до стандарта C++17, при объявлении шаблонных параметров шаблона (template template parameters) требовалось использовать class, а не typename. С C++17 оба варианта стали полностью взаимозаменяемыми.