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

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

Войти
Регистрация
Восстановить пароль
 
Excogit8er
2 / 2 / 0
Регистрация: 23.10.2012
Сообщений: 66
#1

Примеры с объявлением указателей на функции. Любопытно, часто ли такое используется? - C++

03.12.2012, 16:34. Просмотров 312. Ответов 0
Метки нет (Все метки)

Листал тут одну уже не новую книжку по С++ (Паппас & Мюррей) и там были такие вот примеры объявлений указателей на функции:
C++
1
2
3
4
int  * ( * ( * ifunct_ptr) (int) ) [5];
float  ( * ( * ffunct_ptr) (int, int)) (float);
double ( * ( * ( * dfunct_ptr) ( ) ) [5] ) ( );
( * ( * function_array_ptrs ( ) ) [5] ) ( );
Особенно 3 и 4 примеры впечатляют. Я слегка подофигел и решил поинтересоваться у многоуважаемых экспертов: а в реальных приложениях часто ли такое используется? Или это чистой воды "теория", а на практике с таким сталкиваться не приходится? (Ну или есть какие-нибудь "виртуальные функции" в библиотеке классов, с которыми дело имеет только компилятор, а самим такое "объявлять" не нужно?)

ЗЫ. Читается это так:

"Первая строка описывает указатель ifunct ptr на функцию, принимающую один целочисленный аргумент и возвращающую указатель на массив из пяти указателей типа int.

Вторая строка описывает указатель ffunct ptr на функцию, принимающую два целочисленных аргумента и возвращающую указатель на другую функцию с одним аргументом типа float и таким же типом результата.

Третья строка читается следующим образом: тип dfunct ptr определен как указатель на функцию без аргументов, возвращающую указатель на массив из пяти указателей, которые, в свою очередь, ссылаются на функции без аргументов, возвращающие значения типа double. В четвертой строке создается экземпляр такого указателя.

Последняя строка содержит объявление функции, а не переменной. Создаваемая функция function array ptrs() не имеет параметров и возвращает указатель на массив из пяти указателей, которые ссылаются на функции без аргументов, возвращающие значения типа int(последнее подразумевается по умолчанию, если не указано иное)."
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.12.2012, 16:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Примеры с объявлением указателей на функции. Любопытно, часто ли такое используется? (C++):

Пр0блема с объявлением функции. Наверное - C++
День всем добрый! Я тут столкнулся с проблемой. Почему ЭТО: pixel = GetPixel( hdc, x, y );

Почему в сортировке указателей на объекты в вызове функции используются адреса объектов, а не указателей? - C++
Доброго времени суток! Рассматриваю пример (из Лафоре) сортировки массива указателей на объекты, для чего используются указатели на...

Создать специфицированный шаблон функции, принимающей массив указателей на char и количество самих указателей - C++
Задача: создать специфицированный шаблон функции, принимающей массив указателей на char и количество самих указателей. Вернуть адрес...

Запутался с объявлением функции - C++ Builder
Хочу записать функцию как часть формы. с простыми функциями проблем никаких: void MyFunc(void){ // } обьявив ее в *.h файле...

Проблемы с объявлением функции-члена класса - Visual C++
Доброго времени суток. Пишу программу, реализующую простые матричные операции (сложение, вычитание и прочее). Код: matrix.h class...

Что такое и где используется stdClass? - PHP ООП
Что такое и где используется stdClass?

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.12.2012, 16:34
Привет! Вот еще темы с ответами:

Что такое Анонимная Функция, где используется? - JavaScript
Здравствуйте. Расскажите, пожалуйста, что такое анонимная функция, для чего она нужна, и как она используется на практике. А так же,...

Почему название переменной "i" часто используется в циклах? - JavaScript
Подскажите, сейчас читаю книгу и смотрю коды на форумах, во всех фильтрах и кодах используется одно и таже переменная i - подскажите почему...

IsExit: что это такое и для чего используется? - Java
Что это такое и для чего используется?

Что значит такое использование указателей - C++
Разбираю прогу для клиент сервера и никак не могу понять что значит такое использование указателей 1) char buff; потом в...


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

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

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