Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Общие вопросы > Class vs Typename |
Автор: Mayk 27.5.2005, 18:05 |
чем template <class _Tp> .... отличается от template <typename _Tp> ? |
Автор: bel_nikita 27.5.2005, 18:56 | ||
Mayk
![]() |
Автор: yaja 27.5.2005, 22:36 |
![]() ![]() ![]() ![]() ![]() |
Автор: Alastis 28.5.2005, 08:33 | ||||||
yaja вообще то вначале ввели class. Mayk Вот немножко из Липмана о class и typename:
|
Автор: En_t_end 28.5.2005, 09:26 | ||
![]() |
Автор: Mayk 29.5.2005, 07:47 | ||
Хмм, зачем использовать 2 вещи? Чем class не устроил? В стандарте сказано, что "семантической разницы нет"(т.е. "смысл один"? А какая еще разница может быть, кроме "sementic"? Только в кол-ве букв?) Вот такая вещь тоже работает.
И где хоть какое-нибудь упрощение? Надо будет поискать "дизайн и эвиолюции". Блин, надеюсь, что в своих упрощениях ИСОшники не дойдут в будущем до "template<class _Tp> is obsoloted now, use typename instead". |
Автор: np9mi7 29.5.2005, 12:53 |
Страуструп об этом в своей книге пишет.... Ничем они не отличаются.... |
Автор: Void 29.5.2005, 20:14 | ||
Да ни в жисть ![]() P.S. Когда в последний раз Комитет занимался упрощениями, что-то не припомню? ![]() Непродолжительное гугление в c.l.c++(.m) показало, что многие используют такую практику: использовать class, когда параметр шаблона действительно должен являться классом, и typename, когда это простой (встроенный) тип. Я, кстати, тоже так обычно делаю. |
Автор: Fantasist 1.6.2005, 06:20 | ||
В оригинале Страуструп говорит, что так как в объявлении шаблона typename и class взаимозаменяемы, то он предпочитает использовать class, так как он занимает меньше места на экране, а этого места ему постоянно не хватает. ![]() А зачем ввели typename... ну наверное, чтобы можно было более ясно выразиться. Слово class просто используется и в другом смысле и поэтому не столь явно указывает намерение. |