Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
Vita7881
6 / 6 / 0
Регистрация: 07.10.2009
Сообщений: 156
1

шаблоны

08.01.2010, 21:54. Просмотров 1492. Ответов 22
Метки нет (Все метки)

Здравствуйте, а можете подсказать в чем различия между шаблоном функции и шаблонной функцией?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2010, 21:54
Ответы с готовыми решениями:

«Шаблоны шаблонов» vs «шаблоны с параметрами-шаблонами».
«Шаблоны шаблонов» vs «шаблоны с параметрами-шаблонами». Есть ли разница в...

Шаблоны. Плохо понимаемые моменты из книги "Шаблоны С++. Справочник разработчика". (Вандевурд, Джосаттис)
Так как изучаю эту книгу, то в некоторых местах возникают вопросы. Чтобы не...

Помогите писать на С++ через шаблоны. Консуле я писал, но надо писать исползуя шаблоны
В одномерном массиве, состоящем из п вещественных элементов, вычислить: 1)...

Шаблоны
Здравствуйте, подскажите пожалуйста почему компилятор мне пишет, что...

Шаблоны
На сколько я знаю, в с++ нельзя указать типу шаблона что то вроде: <T extends...

22
niXman
Эксперт С++
3202 / 1451 / 73
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
08.01.2010, 21:55 2
ни в чем.
0
outoftime
║XLR8║
763 / 662 / 212
Регистрация: 25.07.2009
Сообщений: 3,320
Записей в блоге: 5
08.01.2010, 23:45 3
в том что мыло - мыльное, вы назвали одно и тоже только с разных сторон, шаблон функции он есть шаблон, но функция по шаблону есть функция))
0
Vita7881
6 / 6 / 0
Регистрация: 07.10.2009
Сообщений: 156
09.01.2010, 23:37  [ТС] 4
а можете подсказать, какое свойство программного кода обеспечивает использование шаблонов?
0
niXman
Эксперт С++
3202 / 1451 / 73
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
10.01.2010, 03:17 5
а книжку почитать, принцип не позволяет?
C++
1
2
3
template<typename At, typename Rt>
Rt my_mega_gipper_function(At arg) {
}
0
Vita7881
6 / 6 / 0
Регистрация: 07.10.2009
Сообщений: 156
10.01.2010, 19:30  [ТС] 6
спасибо, я это и думала, но потом подумала, а вдруг это не то. Спасибо вам)))

Добавлено через 10 минут
а можете еще обЪяснить, почему бинарное дерево является нелинейной структурой? а то везде пишется, что является а почему нет
0
outoftime
║XLR8║
763 / 662 / 212
Регистрация: 25.07.2009
Сообщений: 3,320
Записей в блоге: 5
10.01.2010, 19:35 7
Vita7881, нарисуте дерево, увидите)) хотя список это тоже дерево, но все таки..
0
niXman
10.01.2010, 19:38
  #8

Не по теме:

Цитата Сообщение от niXman Посмотреть сообщение
my_mega_gipper_function
а имя функции классное получилось :)

0
Vita7881
6 / 6 / 0
Регистрация: 07.10.2009
Сообщений: 156
11.01.2010, 22:10  [ТС] 9
да, хорошее

Добавлено через 1 час 31 минуту
а можете еще это подсказать, в каких случаях следует использовать перегруженные функции, а в каком шаблонные функции?
0
niXman
Эксперт С++
3202 / 1451 / 73
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
11.01.2010, 22:12 10
вопрос неправильно поставлен. поясните.
0
CyBOSSeR
Эксперт С++
2310 / 1683 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
11.01.2010, 22:14 11
Цитата Сообщение от Vita7881 Посмотреть сообщение
а можете еще это подсказать, в каких случаях следует использовать перегруженные функции, а в каком шаблонные функции?
Разберись и с тем и с другим, благо информации уйма и это совсем не сложный материал. Тогда вопрос отпадет сам собой.
0
Vita7881
6 / 6 / 0
Регистрация: 07.10.2009
Сообщений: 156
11.01.2010, 22:30  [ТС] 12
когда лучше использовать перегруженную функцию, а когда лучше шаблон функцию
0
niXman
Эксперт С++
3202 / 1451 / 73
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
11.01.2010, 22:32 13
хз когда, но шаблон в любом случае лучше.
0
Vita7881
6 / 6 / 0
Регистрация: 07.10.2009
Сообщений: 156
11.01.2010, 22:37  [ТС] 14
а чем, можно какие-нибудь примеры
0
CyBOSSeR
Эксперт С++
2310 / 1683 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
11.01.2010, 22:44 15
Цитата Сообщение от Vita7881 Посмотреть сообщение
можно какие-нибудь примеры
Функция поиска элемента в массиве.
Возвращает индекс найденного элемента или -1 в случае его отсутствия.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
template<class T>
int find(T* arr, int size, const T& key)
{
  if(size == 0)
    return -1;
 
  T tmp = arr[size - 1];
  arr[size - 1] = key;
 
  int index = 0;
  
  while(arr[index] != key)
    ++index;
 
  arr[size - 1] = tmp;
 
  return arr[index] == key? index : -1;
}
Данная функция будут работать с любыми типами массивов.
Если бы не было шаблонов пришлось бы писать идентичные функции для каждого типа.
0
Vita7881
6 / 6 / 0
Регистрация: 07.10.2009
Сообщений: 156
11.01.2010, 23:03  [ТС] 16
а так, если мы бы использовали перегруженные функции, то мы бы просто ввели параметры, а компилятор сам бы выбрал, что подходит
0
CyBOSSeR
Эксперт С++
2310 / 1683 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
11.01.2010, 23:05 17
Цитата Сообщение от Vita7881 Посмотреть сообщение
а так, если мы бы использовали перегруженные функции, то мы бы просто ввели параметры, а компилятор сам бы выбрал, что подходит
Не очень понятно о чем ты говоришь.
0
niXman
Эксперт С++
3202 / 1451 / 73
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
11.01.2010, 23:08 18
нафиг писать несколько функций, когда компилятор сам инстанциирует функцию на основе шаблона и типов?
0
Vita7881
6 / 6 / 0
Регистрация: 07.10.2009
Сообщений: 156
11.01.2010, 23:11  [ТС] 19
а я поняла, просто с перегруженными функциями больше памяти занимает, тогда надо было бы описовать их всех, а с шаблонами все проще, да?
0
niXman
Эксперт С++
3202 / 1451 / 73
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
11.01.2010, 23:18 20
при чем тут память?! фух...
кода писать больше!
1
11.01.2010, 23:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.01.2010, 23:18

шаблоны
Помогите пож. разобраться с шаблонами. Шаблоны у которых параметры тоже...

Шаблоны
#include &lt;iostream&gt; using namespace std; template &lt;class T&gt; class Vector{...

Шаблоны
Есть два класса: #include &lt;iostream&gt; #include &lt;string&gt; #include...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru