Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
11 / 11 / 2
Регистрация: 24.01.2013
Сообщений: 212
1

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

18.09.2013, 15:02. Показов 1405. Ответов 20
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем дорого времени суток.
Объясните нубу для чего необходимы указатели на функции и как и где их правильно применять... Что-то до меня не доходит из книг.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.09.2013, 15:02
Ответы с готовыми решениями:

Об указателях
В чем разница между этими двумя строчками? int* x; int *x;

Ошибка в указателях
Здравствуйте, не понимаю почему выводит мусор. Вроде бы все правильно сделал. Знаю что можно было...

немного об указателях
есть код: #include <iostream> #include <windows.h> using namespace std; int main() { ...

Запутался в указателях
Поиск элемента, равного figure void remove_helper(std::shared_ptr<BTreeItem> *item,const...

20
Комп_Оратор)
Эксперт по математике/физике
8949 / 4703 / 629
Регистрация: 04.12.2011
Сообщений: 13,999
Записей в блоге: 16
18.09.2013, 18:32 21
Author24 — интернет-сервис помощи студентам
h_wolf, по смыслу указатель на функцию похож на любой указатель. Он позволяет адресовать сущность косвенно, то есть без имени. Тип указателя должен быть определён и указатель инициализирован. Для указателя на функцию тип определяется сигнатурой объявления.
Косвенное обращение, позволяет устанавливать точку ветвления, не заботясь о имени функции которая будет передана в эту точку через указатель. Важно только чтобы сигнатура подходила.
Перегрузка тут вообще не подойдёт для сравнения. Там имя совпадает, а типы параметров нет. При перегрузке сохраняется, как правило алгоритм. Просто он становится не чувствителен к типам параметров при вызове. Если и количество параметров при перегрузке варьируется, то это тем более не тот случай. Такая перегрузка как перегрузка конструкторов или операторов, не для ветвления вообще, а для обеспечения гибкости использования.
Ближе к теме, какой-нибудь блок - функция с заданной сигнатурой, в которой в ветвях оператора switch, например вызываются функции с этой же сигнатурой ( и этими же параметрами). Но в этом случае, все имена вызываемых в том или ином случае функций должны быть известны, на момент написания кода. То есть как библиотека для стороннего клиента это не подойдёт.
Техника обратного вызова, в принципе тоже использует указатели на функции. То есть если функция присоединяется к функции, без кода которой её выполнение невозможно, то в присоединяющую функцию передается указатель клиентской функции и её аргументы, а та запускает клиентский код.
1
18.09.2013, 18:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.09.2013, 18:32
Помогаю со студенческими работами здесь

Стек на указателях не компилируется
#include <iostream> using std:: cin; using std:: cout; using std:: endl; struct NodePtr { ...

Написать стек на указателях
хочю знать как написать стёк на указателях мне нужно чтобы можно было добавлять новые елемнты...

Об указателях по философски-математически
Допустим, имеем код: int *p; Есть мнение, что истолковать запись можно двояко: 1) р - тип,...

Реализация стека на указателях
Стек на указателях: #include <iostream> using std::cin; using std::cout; using std::endl;...


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

Или воспользуйтесь поиском по форуму:
21
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru