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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
HB
Сообщений: n/a
#1

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

30.10.2013, 20:43. Просмотров 1137. Ответов 10
Метки нет (Все метки)

Одни пишут <class T>, другие <typename T>
Какая между ними разница?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5410 / 4806 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
30.10.2013, 20:55     Шаблоны. Что лучше <class T> или <typename T>? #2
Цитата Сообщение от HB Посмотреть сообщение
Какая между ними разница?
Никакой.
ct0r
C++/Haskell
 Аватар для ct0r
1663 / 589 / 40
Регистрация: 19.08.2012
Сообщений: 1,214
Завершенные тесты: 1
30.10.2013, 21:13     Шаблоны. Что лучше <class T> или <typename T>? #3
В целом никакой.
Я пишу class, когда параметр шаблона обязательно должен быть классом.
И typename, когда вообще любым типом.
Но это только для читабельности. И не отменяет того же использования static_assert и type traits.
castaway
Эксперт С++
4869 / 3008 / 370
Регистрация: 10.11.2010
Сообщений: 11,059
Записей в блоге: 10
Завершенные тесты: 1
30.10.2013, 21:29     Шаблоны. Что лучше <class T> или <typename T>? #4
Цитата Сообщение от ct0r Посмотреть сообщение
Я пишу class, когда параметр шаблона обязательно должен быть классом.
И typename, когда вообще любым типом.
Ну это чушь. Тут абсолютно никакой разницы.
ct0r
C++/Haskell
 Аватар для ct0r
1663 / 589 / 40
Регистрация: 19.08.2012
Сообщений: 1,214
Завершенные тесты: 1
30.10.2013, 21:36     Шаблоны. Что лучше <class T> или <typename T>? #5
Цитата Сообщение от castaway Посмотреть сообщение
Ну это чушь. Тут абсолютно никакой разницы.
Не читать сообщение полностью и вырывать из контекста - вот это чушь.
castaway
Эксперт С++
4869 / 3008 / 370
Регистрация: 10.11.2010
Сообщений: 11,059
Записей в блоге: 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
1663 / 589 / 40
Регистрация: 19.08.2012
Сообщений: 1,214
Завершенные тесты: 1
30.10.2013, 22:01     Шаблоны. Что лучше <class T> или <typename T>? #7
Цитата Сообщение от castaway Посмотреть сообщение
Во-первых, не в целом никакой, а вообще никакой.
Во-вторых, как я уже говорил, это чушь.
В-третьих, зачем сюда приплетать static_assert и type traits?
В-четвертых, что значит "Но это только для читабельности."?
Мораль: человек, читающий твоё сообщение может подумать что class надо использовать только тогда, когда шаблонный тип является классом, что не так на самом деле.
Нет, тут мораль такая, что ты устал после работы, поэтому у тебя такая мораль)
Я ясно написал, что лично я пишу class в одном случае и typename в другом. Указал, что делаю я это исключительно для читабельности, поскольку семантически разницы нет. А поскольку семантически разницы нет, то для действительных проверок надо будет все равно использовать static_assert + is_class.
castaway
Эксперт С++
4869 / 3008 / 370
Регистрация: 10.11.2010
Сообщений: 11,059
Записей в блоге: 10
Завершенные тесты: 1
30.10.2013, 22:12     Шаблоны. Что лучше <class T> или <typename T>? #8
А я молотком гвозди забиваю, но я же об этом везде не пишу. Единственный правильный ответ на вопрос ТС: разницы нет.
А лишними словами ты только можешь ввести людей в заблуждение.
Tulosba
:)
Эксперт С++
4384 / 3227 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
30.10.2013, 22:20     Шаблоны. Что лучше <class T> или <typename T>? #9
Цитата Сообщение от castaway Посмотреть сообщение
А лишними словами ты только можешь ввести людей в заблуждение.
Теперь личное мнение уже высказывать нельзя? Вроде понятно ct0r объяснил, что это лично его подход, который при согласованном использовании помогает получить дополнительную информацию из кода.
Jupiter
Каратель
Эксперт C++
6547 / 3967 / 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++ Что лучше массив или вектор?
C++ Что лучше: динамические массивы, векторы, списки, map контейнеры или что-то ещё?
C++ Как програмно показать разницу между typename и class в шаблонных классах?
Что лучше c++ или c#? C++
C++ Что означает using typename в шаблоне?

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

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

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