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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Пользователь вводит месяц - компьютер показывает количество дней в этом месяце http://www.cyberforum.ru/cpp-beginners/thread316428.html
Надо сделать программу: пользователь с клавиатуры вводит по русски название месяца, а компьютер выводит количество дней в этом месяце. Год считать високосным.
C++ написать функцию, которая формирует новый массив, элементами которого является все четные элементы, расположенные в нечетных ячейках заданного массива Помогите пожалуйста.написать функцию, которая формирует новый массив, элементами которого является все четные элементы, расположенные в нечетных ячейках заданного массива. http://www.cyberforum.ru/cpp-beginners/thread316421.html
C++ Массивы
Дан массив, состоящий из 100 целых чисел. а) Вывести все числа, которые встречаются в" этом массиве несколько раз. б) Вывести все числа, которые встречаются в массиве только по одному разу. Плз...
класс Матрица C++
Здраствуйте! Наведите пример нормальной реализации класса Матрицы так чтоб можно было считывать матрицу с файла при том что в файле м последний столбец нужно сделать как отдельную матрицу. Желательно...
C++ Циклы http://www.cyberforum.ru/cpp-beginners/thread316405.html
Пожалуйста помогите с тремя задачками. 1)Дано натуральное число N. Найти и вывести все числа в интервале от 1 до N-1, у которых произведение всех цифр совпадает с суммой цифр данного числа. Если...
C++ Элемент матрицы называется локальным минимумом, если он строго меньше всех имеющихся у него соседей.Подсчитать количество локальных минимумов ... Элемент матрицы называется локальным минимумом, если он строго меньше всех имеющихся у него соседей.Подсчитать количество локальных минимумов заданной матрицы размером 10х10. Найти сумму моделей... подробнее

Показать сообщение отдельно
taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
09.06.2011, 11:12
Цитата Сообщение от bearwoolfs Посмотреть сообщение
Понятно , но ничего не понятно , тогда для чего используеться Указатель на функцию ??? Если он туда ничего передать не может. Яправильно понял?
Нельзя ввести с клавиатуры, но это ещё ничего не значит. Вот представь себе: у тебя 1000 функций, в 1000 местах ты в зависимости от каких то условий хочешь вызывать эти функции по одной, а в других частях программы запоминать, что именно потом вызовешь. Тебе понадобаится 1000 swichей по 1000 caseов, итого миллион caseов. А с помощью указаетеля можно обойтись всего лишь тысячью строк вида
C++
1
PointToFucntion(x, y);
, где PointToFucntion - твой указатель. Теперь представь: ты потом передумал и функций стало 2000. В первом случае ты добавишь ещё миллион caseов, а во втором добавляются только сами функции и запоминание того, какую из них действительно надо вызывать, сам же вызов не трогаешь вовсе, что в равной мерее удобно и при замене тысячи функций на две тысячи, вызываемых в тысяче мест, и при замене двух функций на три, вызываемых в одном месте.

Добавлено через 5 минут
Цитата Сообщение от OstapBender Посмотреть сообщение
указатели на функции находят широкое применение в качестве параметров других функций
Можно передавать имена, а внутри писать длинные последовательности альтернатив, или передавать номера, а внутри писать длинные switchи. Указатель же на функцию оказывается удобнее этих решений в том случае, если вызов повторяется в разных частях программы, и/или переделывается.

Добавлено через 2 минуты
Цитата Сообщение от taras atavin Посмотреть сообщение
Pascal
1
2
3
4
5
6
7
funtion f1(i:integer):integer;
function f2(i:integer):integer;
begin
 f2:=i*2;
end;
 f1:=f2(i)*f2(i mod 4);
end;
Очепятки.
Pascal
1
2
3
4
5
6
7
8
funсtion f1(i:integer):integer;
function f2(i:integer):integer;
begin
       f2:=i*2;
end;
begin
     f1:=f2(i)*f2(i mod 4);
end;
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru