Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Template<class T> и Template<typename T> в чем различие?

Тимур Абдрахимов Ученик (103), на голосовании 5 месяцев назад
Голосование за лучший ответ
_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 оба варианта стали полностью взаимозаменяемыми.
Тимур АбдрахимовУченик (103) 6 месяцев назад
спасибо!!!
Похожие вопросы