Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Function pointer (Visual C++)

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
Dimon_eprst



Зарегистрирован: 03.10.2006
Сообщения: 1

СообщениеДобавлено: Вт Окт 03 2006 17:19    Заголовок сообщения: Function pointer (Visual C++) Ответить с цитатой

Что это такое?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Lamer - 8



Зарегистрирован: 01.03.2003
Сообщения: 53

СообщениеДобавлено: Вт Окт 03 2006 20:28    Заголовок сообщения: Ответить с цитатой

Просто указатель который указывает на функцию, основное применение для создания событий (в C# это называется делегатом, может и в C++ также).
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
VasilyTMN



Зарегистрирован: 09.10.2006
Сообщения: 17

СообщениеДобавлено: Пн Окт 09 2006 13:02    Заголовок сообщения: Ответить с цитатой

Короче указатели на функцию можно применять следующим образом
Код:

// объявляем где-то тип функции
// функция принимает два целых и возвращает целое
typedef DWORD (Func *)(DWORD, DWORD);
// имеем 2 функции
DWORD FuncAdd(DWORD a1, DWORD a2) { return a1 + a2; } // сложение
DWORD FuncMul(DWORD a1, DWORD a2) { return a1*a2; } // умножение

// далее где-то в тексте объявляем переменную-указатель на функцию
Func lpfnFunc;

DWORD dwRes1, dwRes2;
lpfnFunc = FuncAdd;
dwRes1 = lpfnFunc(10, 20); // dwRes1 = 30
lpfnFunc = FuncMul;
dwRes2 = lpfnFunc(10, 20); // dwRes2 = 200

Это очень удобно!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
kolobok0



Зарегистрирован: 22.04.2005
Сообщения: 253
Откуда: Мсква

СообщениеДобавлено: Вт Окт 10 2006 11:45    Заголовок сообщения: Ответить с цитатой

Lamer - 8 писал(а):
Просто указатель который указывает на функцию, основное применение для создания событий (в C# это называется делегатом, может и в C++ также).


делегатом обзывают нечто другое а не просто указатель. Попробуйте сложить указатель с указателем...а к делегату - запросто мона прибавить несколько штук...



Пример на мой взгляд - (с точки зрения языка си плас плас) - не удачный. В плюсах есть более элегантные способы с сохранением типизации...

(круглый)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...