![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 7 Всего: 50 |
Stl: в чем плюсы шаблонов?
|
|||
|
||||
| andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 6 Всего: 33 |
Во всем. На буст посмотри.
-------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 7 Всего: 50 |
|
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
они классные Что значит в чем плюсы? Шаблоны - это полиморфизм времени компиляции. Плюс в том что грамотно используя шаблоны можно избежать написания лишнего кода (т.е. возложить эту обязанность на плечи компилятора) Это сообщение отредактировал(а) azesmcar - 26.5.2009, 21:14 |
|||
|
||||
| nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 3 Всего: 43 |
Минусы это - они лишат тебя удовольствия написания сотен строк кода, заменив это всего лишь парой строк.
|
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 15 Всего: 26 |
тут недавно советовали вместо 1 шаблона перегрузку юзать, для всех возможных типов...
|
|||
|
||||
| Dmi3ev |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1698 Регистрация: 28.11.2007 Репутация: 1 Всего: 41 |
Тупой вопрос...
А в чем минусы? -------------------- |
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 2 Всего: 306 |
плюсы в кошерности. зы. ыыы. |
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 8 Всего: 72 |
Минусы в том, что хотя ты пишешь код один раз, при каждом использовании шаблона с новым типом, его код дублируется и размер исполняемого файла растёт.
|
|||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 41 Всего: 154 |
||||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
а зачем писАть разный код для разных типов? -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 7 Всего: 50 |
Добавлено через 2 минуты и 3 секунды Минус в том, что если нет инстанцирования шаблона, то компилер не будет проверять его синтаксис. |
|||
|
||||
| Lazin |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 41 Всего: 154 |
вот за этим
список может хранить указатели на большие объекты, в то время как маленькие объекты можно хранить по значению предложи такую реализацию списка(без шаблонов), которая будет работать так-же как в данном примере Добавлено через 3 минуты и 47 секунд
вот именно синтаксис он и будет проверять для всех шаблонов(правда visual studio это не делает) Это сообщение отредактировал(а) Lazin - 27.5.2009, 09:23 |
||||
|
|||||
| math64 |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 8 Всего: 72 |
Растёт - но ты сам видишь что растёт, и чтобы он не рос принимешь меры, например для двух разных типов создаёшь обший базовый класс и переносишь общий код в него. А при применении шаблонов можешь об этом и не задумываться. Например, нужен тебе список для хранения типов A, B, C, D, E, F ... Ты пишешь:
Код шаблона list размножился 6 раз А в этом слечае:
хоть и применены шаблоны, но основной код шаблона не размножается. Это сообщение отредактировал(а) math64 - 27.5.2009, 09:29 |
||||
|
|||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 7 Всего: 50 |
не делает Добавлено через 3 минуты и 45 секунд А если функция может использовать только один тип данных, стоит ли использовать шаблон? |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |