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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Кол-во отрицательных элементов в массиве http://www.cyberforum.ru/cpp-beginners/thread717676.html
в массиве B(6) посчитать кол-во отрицательных элементов. В=(-1;7;5;-4;3;6)
C++ C++ and IIS state (проверить состояние IIS) Подскажите пожалуйста как можно проверить состояние IIS?? http://www.cyberforum.ru/cpp-beginners/thread717647.html
Шаблоны массива класса array (объяснить) C++
Здравствуйте, я не могу понять, что означает шаблон класса array..Вот само задание: "13. Объявите следующие объекты данных а. actor — массив из 30 элементов char. б. betsie — массив из 100 элементов short. в. chuck — массив из 13 элементов float. г. dipsea — массив из 64 элементов long double. Выполните задание, используя шаблонный класс array вместо встроенных массивов." Помогите..как...
C++ задание на тему (коды исправления ошибок )код хеменгуэй
В целом программа написана и работает ,вроде,нормально ну вот только у меня не получается вывести кодировку второго числа обратно(сам в этом плохо шарю) помогите пожалуйста ) // hov.cpp : Defines the entry point for the console application. // #include "stdafx.h" // 1.cpp : Defines the entry point for the console application. // // Лабораторная работа 2.cpp: определяет точку входа для...
C++ Создать форму для расчета пени по формуле http://www.cyberforum.ru/cpp-beginners/thread717633.html
Здравствуйте, нужно создать форму для расчета пени по этой формуле: Пеня = З х 2ДУС х Д : 100, где З — сумма задолженности за период, 2 ДУС — двойная учетная ставка НБУ в день просрочки, Д — количество календарных дней просрочки. Считается таким образом: Ставка НБУ за период (например, с 12.08.2009 г. по 07.06.2010 г. – 10,25% годовых умножается на два. Получается двойная учетная ставка...
C++ Обозревательный проект Данная тема предназначается ТОЛЬКО для образовательных целях. Автор и форум не несут ответственности в случае неправильного использования изложенных здесь знаний и вопросов. Собственно ситуация такая, мне нужно на открытом мероприятии показать работу вируса. Этот вирус не должен воровать данные, он должен сделать то что можно увидеть. Цель: За компьютером будет сидеть человек, который... подробнее

Показать сообщение отдельно
Excogit8er
2 / 2 / 0
Регистрация: 23.10.2012
Сообщений: 66
03.12.2012, 16:34     Примеры с объявлением указателей на функции. Любопытно, часто ли такое используется?
Листал тут одну уже не новую книжку по С++ (Паппас & Мюррей) и там были такие вот примеры объявлений указателей на функции:
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(последнее подразумевается по умолчанию, если не указано иное)."
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru