Форум программистов, компьютерный форум CyberForum.ru

Шаблоны. Что лучше <class T> или <typename T>? - C++

Восстановить пароль Регистрация
 
HB
Сообщений: n/a
30.10.2013, 20:43     Шаблоны. Что лучше <class T> или <typename T>? #1
Одни пишут <class T>, другие <typename T>
Какая между ними разница?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.10.2013, 20:43     Шаблоны. Что лучше <class T> или <typename T>?
Посмотрите здесь:

C++ подскажите template<class> (Шаблоны и указатели)
шаблоны и typename в частности C++
C++ Что лучше Pascal или C++
C++ Что лучше С++ 6 или С++ 2010 Что выбрать, мое мнение
C++ Typename и Class
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
30.10.2013, 20:55     Шаблоны. Что лучше <class T> или <typename T>? #2
Цитата Сообщение от HB Посмотреть сообщение
Какая между ними разница?
Никакой.
ct0r
C++/Haskell
 Аватар для ct0r
1549 / 568 / 39
Регистрация: 19.08.2012
Сообщений: 1,174
Завершенные тесты: 1
30.10.2013, 21:13     Шаблоны. Что лучше <class T> или <typename T>? #3
В целом никакой.
Я пишу class, когда параметр шаблона обязательно должен быть классом.
И typename, когда вообще любым типом.
Но это только для читабельности. И не отменяет того же использования static_assert и type traits.
castaway
Эксперт С++
4839 / 2978 / 367
Регистрация: 10.11.2010
Сообщений: 11,012
Записей в блоге: 10
Завершенные тесты: 1
30.10.2013, 21:29     Шаблоны. Что лучше <class T> или <typename T>? #4
Цитата Сообщение от ct0r Посмотреть сообщение
Я пишу class, когда параметр шаблона обязательно должен быть классом.
И typename, когда вообще любым типом.
Ну это чушь. Тут абсолютно никакой разницы.
ct0r
C++/Haskell
 Аватар для ct0r
1549 / 568 / 39
Регистрация: 19.08.2012
Сообщений: 1,174
Завершенные тесты: 1
30.10.2013, 21:36     Шаблоны. Что лучше <class T> или <typename T>? #5
Цитата Сообщение от castaway Посмотреть сообщение
Ну это чушь. Тут абсолютно никакой разницы.
Не читать сообщение полностью и вырывать из контекста - вот это чушь.
castaway
Эксперт С++
4839 / 2978 / 367
Регистрация: 10.11.2010
Сообщений: 11,012
Записей в блоге: 10
Завершенные тесты: 1
30.10.2013, 21:45     Шаблоны. Что лучше <class T> или <typename T>? #6
Цитата Сообщение от ct0r Посмотреть сообщение
Не читать сообщение полностью и вырывать из контекста - вот это чушь.
Ок. Давай я процитирую сообщение целиком.
Цитата Сообщение от ct0r Посмотреть сообщение
В целом никакой.
Я пишу class, когда параметр шаблона обязательно должен быть классом.
И typename, когда вообще любым типом.
Но это только для читабельности. И не отменяет того же использования static_assert и type traits.
Во-первых, не в целом никакой, а вообще никакой.
Во-вторых, как я уже говорил, это чушь.
В-третьих, зачем сюда приплетать static_assert и type traits?
В-четвертых, что значит "Но это только для читабельности."?
Мораль: человек, читающий твоё сообщение может подумать что class надо использовать только тогда, когда шаблонный тип является классом, что не так на самом деле.
ct0r
C++/Haskell
 Аватар для ct0r
1549 / 568 / 39
Регистрация: 19.08.2012
Сообщений: 1,174
Завершенные тесты: 1
30.10.2013, 22:01     Шаблоны. Что лучше <class T> или <typename T>? #7
Цитата Сообщение от castaway Посмотреть сообщение
Во-первых, не в целом никакой, а вообще никакой.
Во-вторых, как я уже говорил, это чушь.
В-третьих, зачем сюда приплетать static_assert и type traits?
В-четвертых, что значит "Но это только для читабельности."?
Мораль: человек, читающий твоё сообщение может подумать что class надо использовать только тогда, когда шаблонный тип является классом, что не так на самом деле.
Нет, тут мораль такая, что ты устал после работы, поэтому у тебя такая мораль)
Я ясно написал, что лично я пишу class в одном случае и typename в другом. Указал, что делаю я это исключительно для читабельности, поскольку семантически разницы нет. А поскольку семантически разницы нет, то для действительных проверок надо будет все равно использовать static_assert + is_class.
castaway
Эксперт С++
4839 / 2978 / 367
Регистрация: 10.11.2010
Сообщений: 11,012
Записей в блоге: 10
Завершенные тесты: 1
30.10.2013, 22:12     Шаблоны. Что лучше <class T> или <typename T>? #8
А я молотком гвозди забиваю, но я же об этом везде не пишу. Единственный правильный ответ на вопрос ТС: разницы нет.
А лишними словами ты только можешь ввести людей в заблуждение.
Tulosba
:)
Эксперт C++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
30.10.2013, 22:20     Шаблоны. Что лучше <class T> или <typename T>? #9
Цитата Сообщение от castaway Посмотреть сообщение
А лишними словами ты только можешь ввести людей в заблуждение.
Теперь личное мнение уже высказывать нельзя? Вроде понятно ct0r объяснил, что это лично его подход, который при согласованном использовании помогает получить дополнительную информацию из кода.
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
30.10.2013, 23:08     Шаблоны. Что лучше <class T> или <typename T>? #10
разница есть только при использовании шаблонных параметров шаблона
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.10.2013, 23:57     Шаблоны. Что лучше <class T> или <typename T>?
Еще ссылки по теме:

C++ Что лучше: динамические массивы, векторы, списки, map контейнеры или что-то ещё?
C++ Как програмно показать разницу между typename и class в шаблонных классах?
Что лучше c++ или c#? C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,399
30.10.2013, 23:57     Шаблоны. Что лучше <class T> или <typename T>? #11
typename T пришло на замену class T, т.е. раньше был лишь один вариант - класс. Сейчас можно писать и так и так - разницы никакой.
Yandex
Объявления
30.10.2013, 23:57     Шаблоны. Что лучше <class T> или <typename T>?
Ответ Создать тему
Опции темы

Текущее время: 07:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru