Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
BESSON_off
3 / 0 / 7
Регистрация: 08.07.2013
Сообщений: 351
#1

Указатель на функцию-член - C++

18.09.2013, 15:40. Просмотров 509. Ответов 5
Метки нет (Все метки)


http://www.cyberforum.ru/cpp-beginners/thread951.html
0
Миниатюры
Указатель на функцию-член  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.09.2013, 15:40
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Указатель на функцию-член (C++):

Указатель на функцию-член
Доброго времени суток, возникла следующая ситуация: Приведу пример: class A {...

Указатель на функцию-член
// howmany.cpp: определяет точку входа для консольного приложения. // ...

Указатель на функцию-член класса
Нужно передать указатель на функцию класса A изнутри самого класса А в функцию,...

Указатель на функцию - член класса.
делаю так: class c1 { void foo(); } class c2 { void (*fp)();

std::bind и указатель на статическую функцию член класса
Биндинг простых функций класса-это понятно, а вот как быть, если функция...

5
Croessmah
++Ͻ
14147 / 8072 / 1512
Регистрация: 27.09.2012
Сообщений: 19,907
Записей в блоге: 3
Завершенные тесты: 1
18.09.2013, 15:47 #2
C++
1
(w1.*ptr)();
Добавлено через 1 минуту
Цитата Сообщение от BESSON_off Посмотреть сообщение
Если мы разложим эту строчку на приоритеты С++ (см. картинку), то из очередности понятно, что в моем случае 1.1 вызывается первой
А с чего это должно работать?
Оператору "." нужно имя члена при компиляции, а не разыменованный в рантайме указатель

Добавлено через 2 минуты
Цитата Сообщение от BESSON_off Посмотреть сообщение
Но видимо я где-то что-то не понимаю...
Наверное то, что ".*" - это оператор, а не оператор "." + Разыменование
1
BESSON_off
3 / 0 / 7
Регистрация: 08.07.2013
Сообщений: 351
18.09.2013, 15:55  [ТС] #3
Цитата Сообщение от Croessmah Посмотреть сообщение
Наверное то, что ".*" - это оператор, а не оператор "." + Разыменование
И как раньше люди без форумов разбирались в подобном...
Согласен с тем, что это я из виду упустил, но почему данный оператор ".*" нигде не афишируют? Они везде представлены как одиночные... Спасибо вам огромное!

Добавлено через 2 минуты
Цитата Сообщение от Croessmah Посмотреть сообщение
Оператору "." нужно имя члена при компиляции, а не разыменованный в рантайме указатель
А то, что выдается при разименовании - это разве не функция-член (пусть и через посредника)?
0
ForEveR
В астрале
Эксперт С++
7994 / 4753 / 651
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
18.09.2013, 15:59 #4
Цитата Сообщение от BESSON_off Посмотреть сообщение
Согласен с тем, что это я из виду упустил, но почему данный оператор ".*" нигде не афишируют? Они везде представлены как одиночные...
Смотря какие ресурсы посещать (хотя пожалуй во всех книгах упоминаются операторы .*, ->*).
0
Croessmah
++Ͻ
14147 / 8072 / 1512
Регистрация: 27.09.2012
Сообщений: 19,907
Записей в блоге: 3
Завершенные тесты: 1
18.09.2013, 16:00 #5
Цитата Сообщение от BESSON_off Посмотреть сообщение
Согласен с тем, что это я из виду упустил, но почему данный оператор ".*" нигде не афишируют?
Кто такое сказал? Может просто Вы с этим не сталкивались. Если что, то вот из стандарта:
Указатель на функцию-член
0
BESSON_off
3 / 0 / 7
Регистрация: 08.07.2013
Сообщений: 351
18.09.2013, 16:05  [ТС] #6
Цитата Сообщение от ForEveR Посмотреть сообщение
Смотря какие ресурсы посещать
Вот это правильно...
0
18.09.2013, 16:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.09.2013, 16:05
Привет! Вот еще темы с решениями:

Указатель на функцию-член одного класса в другом классе - C++
Добрый вечер! Может кто-то может помочь с проблемой. class Cook {...

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

Почему без приведения типа невозможно выбрать нужный указатель на перегруженную функцию-член?
#include <iostream> #include <functional> using namespace std; class...

Как сделать функцию, возвращающую указатель на функцию (которая в свою очередь возвращает указатель на массив)
Изучаю c++ по одной книжке.Она говорить не умеет.. Так вот понадобилось...


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

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

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