Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Hard_core94
0 / 0 / 0
Регистрация: 31.01.2014
Сообщений: 4
#1

Шаблонная функция - C++

31.01.2014, 14:43. Просмотров 320. Ответов 5
Метки нет (Все метки)

Необходимо сделать шаблонную функцию, в которой x заменяется на y, а y заменяется на x:

void f(int *x, float *y)

Помогите пожалуйста, не очень понимаю эти шаблоны
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.01.2014, 14:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Шаблонная функция (C++):

Шаблонная функция С++ - C++
Помогите пожалуйсто понять ошибку Используется шаблонная функция в первом вызове она отображает значение типа int во втором типа double...

Шаблонная функция - C++
Всем привет! Подскажите пожалуйста, почему не работает следующее объявление функции-шаблона? template <class T> class Base { ...

Шаблонная функция - C++
Учу c++, в книге приводится вот такой листинг примера работы шаблонной функции, однако он не компилится, выдает ошибку error C2668: swap:...

шаблонная функция С++ - C++
написать шаблонную функцию что подсчитывает сколько в массиве пар соседних элементов с одинаковыми значениями. буду признателен ))

Шаблонная функция - C++
Дорогие форумчане, нуждаюсь в вашей помощи: имеется несколько функций, с большим объемом кода. Чтоб не повторять код для функций с другим...

Шаблонная функция - C++
Как "научить" шаблонную функцию отличать массив от контейнера, то есть если написать: template <class contains, class type> type...

5
cooller
565 / 533 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
31.01.2014, 14:47 #2
Hard_core94, Если ты имел ввиду свап, то вот
C++
1
2
3
4
5
6
7
template<class T>
void Swap(T &x, T &y)
{
    T temp = x;
    x = y;
    y = temp;
}
1
Hard_core94
0 / 0 / 0
Регистрация: 31.01.2014
Сообщений: 4
31.01.2014, 14:58  [ТС] #3
cooller_94, Спасибо большое!

Добавлено через 9 минут
Цитата Сообщение от cooller_94 Посмотреть сообщение
Hard_core94, Если ты имел ввиду свап, то вот
C++
1
2
3
4
5
6
7
template<class T>
void Swap(T &x, T &y)
{
    T temp = x;
    x = y;
    y = temp;
}
тогда еще небольшой вопрос
в функции 2 параметра типа int и float
а приведенный код по сути работает только с 1 типом переменных
исправьте, если не прав
0
Avazart
Эксперт С++
7246 / 5418 / 297
Регистрация: 10.12.2010
Сообщений: 24,042
Записей в блоге: 17
31.01.2014, 15:07 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
template<typename A,typename B>
void swap(A &x, B &y)
{
    A temp(x);
    x = static_cast<A>(y);
    y = static_cast<B>(temp);
}
1
Hard_core94
0 / 0 / 0
Регистрация: 31.01.2014
Сообщений: 4
31.01.2014, 15:13  [ТС] #5
Avazart, спасибо!
То что надо
0
Avazart
Эксперт С++
7246 / 5418 / 297
Регистрация: 10.12.2010
Сообщений: 24,042
Записей в блоге: 17
31.01.2014, 15:14 #6
Только задумка обобщать такое, нехорошая идея.
0
31.01.2014, 15:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.01.2014, 15:14
Привет! Вот еще темы с ответами:

Линковщик и шаблонная функция - C++
Добрый вечер, почему если реализовать функцию в header'e и подключить её в разные модули - already defined, а если функция шаблонная ...

Шаблонная функция не работает - C++
#include &lt;iostream&gt; using namespace std; template &lt;class T&gt;void Print_Car(T &amp;a); struct Car { int Number; char Color; ...

Шаблонная функция параметры - C++
Подскажите, где можно посмотреть перечень возможных команд в шаблонных функциях вроде: template &lt;class InputIterator, class T&gt; typename...

не работает шаблонная функция - C++
#include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;list&gt; using namespace std; template &lt;class V, class E&gt; struct graph { ...


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

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

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