| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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 просто используется и в другом смысле и поэтому не столь явно указывает намерение. |