Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 12.01.2018, 13:07   #1
mxm.mxmv
Новичок
 
Регистрация: 13.11.2017
Сообщений: 3
Репутация: 10
По умолчанию Вопрос про typedef

Приветствую.
Подскажите, пожалуйста, как понимать данный фрагмент кода:
typedef void(Number:: *Action)();

здесь весь код программы (строка 50 - конкретно мой вопрос)
http://cpp-reference.ru/patterns/beh...terns/memento/

Спасибо!
mxm.mxmv вне форума   Ответить с цитированием
Старый 12.01.2018, 13:49   #2
pu4koff
Профессионал
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,639
Репутация: 3613
По умолчанию

этот фрагмент означает, что заводится алиас под именем Action, который представляет из себя указатель на метод класса Number, который не имеет параметров и возвращает void.
как-то так:
typedef <результат метода>(<имя класса, "владельца" метода>::*<имя алиаса>)(<параметры метода>)
__________________
http://coub.com/view/2hhtg
pu4koff вне форума   Ответить с цитированием
Старый 12.01.2018, 14:58   #3
mxm.mxmv
Новичок
 
Регистрация: 13.11.2017
Сообщений: 3
Репутация: 10
По умолчанию

просветления не наступило
Подскажите, пожалуйста, где можно почитать в литературе на эту тему? По тайпдефам информации много, но по конкретному примеру не нашел...

в той же программе, когда увидел (_receiver-> *_action)(); - подумал, что это вообще не с++
1.5 года учу его, а с таким примером кода не сталкивался

спасибо.
mxm.mxmv вне форума   Ответить с цитированием
Старый 12.01.2018, 15:58   #4
pu4koff
Профессионал
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,639
Репутация: 3613
По умолчанию

Ну, такой вот тупой синтаксис у плюсов.
В плюсах очень много нюансов, что этот язык всю жизнь учить нужно и то что-то где-то всплывёт.
(_receiver-> *_action)(); - это выполнение метода для объекта _receiver, на который указывает action.
указатели на методы - это вообще дикая дичь в плюсах.
Попробуйте тут почитать: http://rsdn.org/article/cpp/fastdelegate.xml
__________________
http://coub.com/view/2hhtg
pu4koff вне форума   Ответить с цитированием
Старый 12.01.2018, 16:21   #5
Black Fregat
Программист
Профессионал
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,018
Репутация: 675
По умолчанию

Может, эти ссылки чем-то помогут
http://www.unixwiz.net/techtips/reading-cdecl.html
И откуда я туда попал в своё время
http://alenacpp.blogspot.ru/2007/10/...larations.html
Black Fregat вне форума   Ответить с цитированием
Старый 12.01.2018, 17:05   #6
mxm.mxmv
Новичок
 
Регистрация: 13.11.2017
Сообщений: 3
Репутация: 10
По умолчанию

Большое всем спасибо за ссылки! Ушел читать
mxm.mxmv вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос про Qt whit3g Qt и кроссплатформенное программирование С/С++ 4 04.02.2015 22:59
Вопрос про Свойство Visible и про иконки в imagelist Kappi4 Компоненты Delphi 2 21.05.2010 13:10
Вопрос про C# BanzoO Общие вопросы C/C++ 1 02.07.2009 03:47
Вопрос наверное про функции, а так точно даже не знаю про что. (Вопрос начинющего #6) Albert2008 Общие вопросы Delphi 4 21.08.2008 15:33
У меня вопрос про базы данных,а точнее про таблицы!!! Alexij Общие вопросы Delphi 1 13.04.2008 23:24


19:00.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru