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

шаблоны - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
Vita7881
6 / 6 / 0
Регистрация: 07.10.2009
Сообщений: 156
08.01.2010, 21:54     шаблоны #1
Здравствуйте, а можете подсказать в чем различия между шаблоном функции и шаблонной функцией?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2010, 21:54     шаблоны
Посмотрите здесь:

шаблоны C++
C++ шаблоны
C++ шаблоны в си++
C++ Шаблоны
Шаблоны С++ C++
Шаблоны C++
Шаблоны C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
niXman
Эксперт C++
 Аватар для niXman
3133 / 1445 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
08.01.2010, 21:55     шаблоны #2
ни в чем.
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
08.01.2010, 23:45     шаблоны #3
в том что мыло - мыльное, вы назвали одно и тоже только с разных сторон, шаблон функции он есть шаблон, но функция по шаблону есть функция))
Vita7881
6 / 6 / 0
Регистрация: 07.10.2009
Сообщений: 156
09.01.2010, 23:37  [ТС]     шаблоны #4
а можете подсказать, какое свойство программного кода обеспечивает использование шаблонов?
niXman
Эксперт C++
 Аватар для niXman
3133 / 1445 / 49
Регистрация: 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) {
}
Vita7881
6 / 6 / 0
Регистрация: 07.10.2009
Сообщений: 156
10.01.2010, 19:30  [ТС]     шаблоны #6
спасибо, я это и думала, но потом подумала, а вдруг это не то. Спасибо вам)))

Добавлено через 10 минут
а можете еще обЪяснить, почему бинарное дерево является нелинейной структурой? а то везде пишется, что является а почему нет
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
10.01.2010, 19:35     шаблоны #7
Vita7881, нарисуте дерево, увидите)) хотя список это тоже дерево, но все таки..
niXman
10.01.2010, 19:38
  #8

Не по теме:

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

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

Добавлено через 1 час 31 минуту
а можете еще это подсказать, в каких случаях следует использовать перегруженные функции, а в каком шаблонные функции?
niXman
Эксперт C++
 Аватар для niXman
3133 / 1445 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
11.01.2010, 22:12     шаблоны #10
вопрос неправильно поставлен. поясните.
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2295 / 1665 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
11.01.2010, 22:14     шаблоны #11
Цитата Сообщение от Vita7881 Посмотреть сообщение
а можете еще это подсказать, в каких случаях следует использовать перегруженные функции, а в каком шаблонные функции?
Разберись и с тем и с другим, благо информации уйма и это совсем не сложный материал. Тогда вопрос отпадет сам собой.
Vita7881
6 / 6 / 0
Регистрация: 07.10.2009
Сообщений: 156
11.01.2010, 22:30  [ТС]     шаблоны #12
когда лучше использовать перегруженную функцию, а когда лучше шаблон функцию
niXman
Эксперт C++
 Аватар для niXman
3133 / 1445 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
11.01.2010, 22:32     шаблоны #13
хз когда, но шаблон в любом случае лучше.
Vita7881
6 / 6 / 0
Регистрация: 07.10.2009
Сообщений: 156
11.01.2010, 22:37  [ТС]     шаблоны #14
а чем, можно какие-нибудь примеры
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2295 / 1665 / 86
Регистрация: 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;
}
Данная функция будут работать с любыми типами массивов.
Если бы не было шаблонов пришлось бы писать идентичные функции для каждого типа.
Vita7881
6 / 6 / 0
Регистрация: 07.10.2009
Сообщений: 156
11.01.2010, 23:03  [ТС]     шаблоны #16
а так, если мы бы использовали перегруженные функции, то мы бы просто ввели параметры, а компилятор сам бы выбрал, что подходит
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2295 / 1665 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
11.01.2010, 23:05     шаблоны #17
Цитата Сообщение от Vita7881 Посмотреть сообщение
а так, если мы бы использовали перегруженные функции, то мы бы просто ввели параметры, а компилятор сам бы выбрал, что подходит
Не очень понятно о чем ты говоришь.
niXman
Эксперт C++
 Аватар для niXman
3133 / 1445 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
11.01.2010, 23:08     шаблоны #18
нафиг писать несколько функций, когда компилятор сам инстанциирует функцию на основе шаблона и типов?
Vita7881
6 / 6 / 0
Регистрация: 07.10.2009
Сообщений: 156
11.01.2010, 23:11  [ТС]     шаблоны #19
а я поняла, просто с перегруженными функциями больше памяти занимает, тогда надо было бы описовать их всех, а с шаблонами все проще, да?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.01.2010, 23:18     шаблоны
Еще ссылки по теме:

C++ Шаблоны
C++ Шаблоны
C++ Шаблоны в C++
Шаблоны C++
Шаблоны C++

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

Или воспользуйтесь поиском по форуму:
niXman
Эксперт C++
 Аватар для niXman
3133 / 1445 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
11.01.2010, 23:18     шаблоны #20
при чем тут память?! фух...
кода писать больше!
Yandex
Объявления
11.01.2010, 23:18     шаблоны
Ответ Создать тему
Опции темы

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