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

Указатель на шаблон функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Свойства наследования http://www.cyberforum.ru/cpp-beginners/thread714944.html
1) Объект класса-потомка может вызывать некоторые методы класса-предка. 2) Наследование - это механизм получения нового класса на основе уже существующего. 3) Статические переменные не наследуются....
C++ Operator>> Привет, всем!!! У меня следующая проблема: при использовании operator>> внутри цикла while, т.е while(operator >> variable), выполняется только первая команда функции operator>> и, кроме того, еще и... http://www.cyberforum.ru/cpp-beginners/thread714939.html
Сгруппировать элементы массива C++
Сгруппировать положительные элементы в начале, а отрицательные в конце массива без сохранения порядка в каждой группе за O(N) операций.спасибо заранее)))))
C++ Из одного файла данных получить два массива (один с числами, другой - с буквами)
Имеется файл данных, где первая колонка - буквы, а остальные три колонки - числа. Надо записать буквы в один массив, а числа - в другой (желательно, чтобы матрица чисел имела тот же вид, что и в...
C++ Напечатать те слова, которые встречаются в каждом из двух заданных предложений http://www.cyberforum.ru/cpp-beginners/thread714897.html
#include <iostream> #include <conio.h> #include <locale> using namespace std; int main() { char *tempSlova1 = new char; char *tempSlova2 = new char; char *myString1 = new...
C++ Типы файлов для сохранения текста Есть такая задача:программа будет испольнять функции дневника, но только надо так, чтобы информацию из файла, в который все будет записываться, невозможно было получить сторонними программами. Можно... подробнее

Показать сообщение отдельно
ilikeMagic
11 / 11 / 2
Регистрация: 26.04.2012
Сообщений: 104

Указатель на шаблон функции - C++

01.12.2012, 02:30. Просмотров 913. Ответов 16
Метки (Все метки)

Доброй ночи всем! Есть шаблон функции сравнения двух чисел:
C++
1
2
3
4
5
template <typename _Tp>
bool comp(_Tp & a, _Tp & b)
{
    return (a >= b)? 1 : 0;
}
Задание звучит так:
"Докажите, что при компиляции программа создаёт 2 разные функции для заданного шаблона".

В Main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
char   ca(5), cb(3);
int      ia(2), ib(3);
 
cout << comp(ca, cb) << endl;   // 1
cout << comp(ia, ib) << endl;   // 0
 
bool (*pC)(char&, char&);
pC = comp;
cout << "Char   " << &pC << endl;
 
bool (*pI)(int&, int&);
pI = comp;
cout << "Int    " << &pI << endl;
Решил вывести адреса этих двух функций. Работает только тогда, когда перед указателями на функцию стоят амперсанды (строки 10 и 14 в main.cpp). Почему без & выводятся 1 ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru