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

templates, STL - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
slipp1
12 / 11 / 1
Регистрация: 09.11.2012
Сообщений: 365
Записей в блоге: 1
10.10.2013, 12:11     templates, STL #1
ПЕРВОЕ средства обобщенного программирования в С++ (templates)
ВТОРОЕ библиотека STL, контейнеры и алгоритмамы STL

в чем разница первого и второго?

спасибо.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.10.2013, 12:11     templates, STL
Посмотрите здесь:

C++ Generic inheritance. Templates
C++11::templates::compilation failure C++
Variadic Templates C++
Variadic templates C++
C++ Variadic templates
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
11.10.2013, 11:13     templates, STL #41
AnyOne697, Проблема лишь в том, что Вы написали сообщение:
Очень советую избегать шаблонов там, где только можно. И с осторожностью использовать стороннии библиотеки на STL. Они, часто, очень мощные, но сами по себе шаблоны не торт.
Не указано ИМХО, не указано ничего. Просто такое ощущение, что это констатация давно известного факта. А впоследствии выясняется, что вообще наследовать все от базового типа - это та дорога, которой стоит идти. Превозносятся generic в Java и тому подобное, чего нет, не было и никогда не будет в С++. generic и templates это ведь абсолютно разные вещи, заради чего их сравнивать? Шаблоны позволяют куда большую гибкость и пишем мы код так, чтобы он быстрее работал, а не быстрее компилировался (в конце концов, если так важно именно время компиляции можно ведь и ускорить, причем довольно просто).
На тему generic и templates: http://stackoverflow.com/questions/3...-in-c-and-java
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
AnyOne697
 Аватар для AnyOne697
134 / 106 / 5
Регистрация: 22.05.2010
Сообщений: 532
11.10.2013, 16:29     templates, STL #42
Цитата Сообщение от ForEveR Посмотреть сообщение
Не указано ИМХО, не указано ничего. Просто такое ощущение, что это констатация давно известного факта. А впоследствии выясняется, что вообще наследовать все от базового типа - это та дорога, которой стоит идти. Превозносятся generic в Java и тому подобное, чего нет, не было и никогда не будет в С++. generic и templates это ведь абсолютно разные вещи, заради чего их сравнивать? Шаблоны позволяют куда большую гибкость и пишем мы код так, чтобы он быстрее работал, а не быстрее компилировался (в конце концов, если так важно именно время компиляции можно ведь и ускорить, причем довольно просто).
На тему generic и templates: http://stackoverflow.com/questions/3...-in-c-and-java
Да я всё это прекрасно знаю. Я понимаю некорректность сравнения шаблонов и обобщений. Но в тоже время есть некоторые задачи, которые решаются и шаблонами, и обобщениями. А есть задачи, которые не решаются только одним (или шаблонами, или обобщениями).
И потом, ИМХО напрямую написано не было. Но это был совет, мой совет. И проблема в том, что это не давно известная истина. Истина есть только в логике, в реальной жизни (часто далёкой от логике) нет полностью правильного решения. Мой, лично мой опыт константирует тот факт, что шаблоны решают два класса проблем - вычисления на этапе компиляции и многократное использование кода. Первая - надуманная проблема, она редко возникает действительно, а когда возникает - обычно решается сама собой (компилятор часто умнее человека оказывается). Вторая прекрасно решается с помощью наследования и инкапсуляции (это разные вещи, если что). Показывать общность с помощью шаблонов... Не знаю, это не их задача, на мой взгляд.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,429
12.10.2013, 00:14     templates, STL #43
Цитата Сообщение от AnyOne697 Посмотреть сообщение
И проблема в том, что это не давно известная истина.
Проблема в том, что это было сказано во всеуслышание и пыталось доказываться на протяжении 5 страниц. Мы все порой морозим ерунду, просто некоторые в этом сознаются.

Никто не ставит своей целью заставить конкретно вас использовать шаблоны, да пишите void foo(int), void foo(double), void foo(any_other_type), но вот за слова, сказанные на форуме, который читают люди и учатся языку, надо отвечать.

Вы уже сами себя неоднократно слили, нет смысла более вести дискуссию на тему профита обобщенного программирования и шаблонов в частности, просто в следующий раз воздержитесь от столь громких высказываний не имея веских аргументов, ну или хотя бы интересной теории, а то уже даже читать становится скучно.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.10.2013, 00:22     templates, STL
Еще ссылки по теме:

C++ Result_of + variadic templates
Templates внутри класса C++
C++ Перегрузка операторов и templates

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

Или воспользуйтесь поиском по форуму:
AnyOne697
 Аватар для AnyOne697
134 / 106 / 5
Регистрация: 22.05.2010
Сообщений: 532
12.10.2013, 00:22     templates, STL #44
Цитата Сообщение от MrGluck Посмотреть сообщение
то уже даже читать становится скучно.
Не читайте. Это всё было мой опыт. У вас он может быть другой. Впрочем, я, конечно, слишком сильно выразился. Я ни разу не говорил, что я не использую шаблоны. Но почти всегда, когда я их использую - начинаются проблемы. Даже с виртуальными методами и их перегрузкой не было столько проблем, как с ними.
Yandex
Объявления
12.10.2013, 00:22     templates, STL
Ответ Создать тему
Опции темы

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