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

шаблоны - C++

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

Здравствуйте, а можете подсказать в чем различия между шаблоном функции и шаблонной функцией?
http://www.cyberforum.ru/cpp-beginners/thread174031.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2010, 21:54
Я подобрал для вас темы с готовыми решениями и ответами на вопрос шаблоны (C++):

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

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

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

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

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

22
niXman
Эксперт С++
3202 / 1451 / 73
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
08.01.2010, 21:55 #2
ни в чем.
0
outoftime
║XLR8║
756 / 656 / 211
Регистрация: 25.07.2009
Сообщений: 3,289
Записей в блоге: 5
08.01.2010, 23:45 #3
в том что мыло - мыльное, вы назвали одно и тоже только с разных сторон, шаблон функции он есть шаблон, но функция по шаблону есть функция))
0
Vita7881
6 / 6 / 1
Регистрация: 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 / 1
Регистрация: 07.10.2009
Сообщений: 156
10.01.2010, 19:30  [ТС] #6
спасибо, я это и думала, но потом подумала, а вдруг это не то. Спасибо вам)))

Добавлено через 10 минут
а можете еще обЪяснить, почему бинарное дерево является нелинейной структурой? а то везде пишется, что является а почему нет
0
outoftime
║XLR8║
756 / 656 / 211
Регистрация: 25.07.2009
Сообщений: 3,289
Записей в блоге: 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 / 1
Регистрация: 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
Эксперт С++
2309 / 1682 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
11.01.2010, 22:14 #11
Цитата Сообщение от Vita7881 Посмотреть сообщение
а можете еще это подсказать, в каких случаях следует использовать перегруженные функции, а в каком шаблонные функции?
Разберись и с тем и с другим, благо информации уйма и это совсем не сложный материал. Тогда вопрос отпадет сам собой.
0
Vita7881
6 / 6 / 1
Регистрация: 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 / 1
Регистрация: 07.10.2009
Сообщений: 156
11.01.2010, 22:37  [ТС] #14
а чем, можно какие-нибудь примеры
0
CyBOSSeR
Эксперт С++
2309 / 1682 / 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 / 1
Регистрация: 07.10.2009
Сообщений: 156
11.01.2010, 23:03  [ТС] #16
а так, если мы бы использовали перегруженные функции, то мы бы просто ввели параметры, а компилятор сам бы выбрал, что подходит
0
CyBOSSeR
Эксперт С++
2309 / 1682 / 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 / 1
Регистрация: 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...

Шаблоны
Не могу понять в чем косяк. Компилятор ругается на перегрузке оператора ввода ...

Шаблоны
// ConsoleApplication176.cpp : Defines the entry point for the console...


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

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

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