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

Расскаэите о указателях на функции - C++

Восстановить пароль Регистрация
 
 
h_wolf
 Аватар для h_wolf
9 / 9 / 1
Регистрация: 24.01.2013
Сообщений: 211
18.09.2013, 15:02     Расскаэите о указателях на функции #1
Всем дорого времени суток.
Объясните нубу для чего необходимы указатели на функции и как и где их правильно применять... Что-то до меня не доходит из книг.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.09.2013, 15:02     Расскаэите о указателях на функции
Посмотрите здесь:

C++ ошибка в указателях
C++ обьясните простым языком о указателях * и &
C++ Об указателях
C++ немного об указателях
написать стёк на указателях C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.09.2013, 18:32     Расскаэите о указателях на функции
Еще ссылки по теме:

Ошибка в указателях C++
Совсем запутался в указателях C++
C++ Об указателях по философски-математически

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

Или воспользуйтесь поиском по форуму:
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6167 / 2896 / 282
Регистрация: 04.12.2011
Сообщений: 7,701
Записей в блоге: 3
18.09.2013, 18:32     Расскаэите о указателях на функции #21
h_wolf, по смыслу указатель на функцию похож на любой указатель. Он позволяет адресовать сущность косвенно, то есть без имени. Тип указателя должен быть определён и указатель инициализирован. Для указателя на функцию тип определяется сигнатурой объявления.
Косвенное обращение, позволяет устанавливать точку ветвления, не заботясь о имени функции которая будет передана в эту точку через указатель. Важно только чтобы сигнатура подходила.
Перегрузка тут вообще не подойдёт для сравнения. Там имя совпадает, а типы параметров нет. При перегрузке сохраняется, как правило алгоритм. Просто он становится не чувствителен к типам параметров при вызове. Если и количество параметров при перегрузке варьируется, то это тем более не тот случай. Такая перегрузка как перегрузка конструкторов или операторов, не для ветвления вообще, а для обеспечения гибкости использования.
Ближе к теме, какой-нибудь блок - функция с заданной сигнатурой, в которой в ветвях оператора switch, например вызываются функции с этой же сигнатурой ( и этими же параметрами). Но в этом случае, все имена вызываемых в том или ином случае функций должны быть известны, на момент написания кода. То есть как библиотека для стороннего клиента это не подойдёт.
Техника обратного вызова, в принципе тоже использует указатели на функции. То есть если функция присоединяется к функции, без кода которой её выполнение невозможно, то в присоединяющую функцию передается указатель клиентской функции и её аргументы, а та запускает клиентский код.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Yandex
Объявления
18.09.2013, 18:32     Расскаэите о указателях на функции
Ответ Создать тему
Опции темы

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