|
40 / 29 / 11
Регистрация: 21.06.2019
Сообщений: 201
|
||||||
Указатель на функцию17.06.2021, 00:49. Показов 3430. Ответов 35
Метки нет (Все метки)
Как должна выглядеть сигнатура функции на которую может указывать этот указатель?
0
|
||||||
| 17.06.2021, 00:49 | |
|
Ответы с готовыми решениями:
35
В функцию-метод передать указатель на другую функцию-метод и вызвать через переданный указатель
|
|
Гвоздь Задиров
1719 / 1118 / 337
Регистрация: 25.01.2019
Сообщений: 2,946
|
||||||
| 19.06.2021, 14:19 | ||||||
|
А что насчёт этих кошерных и милых глазу штук?
0
|
||||||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
|||||||||||||||||||||||||||||||||||||||||
| 19.06.2021, 14:26 | |||||||||||||||||||||||||||||||||||||||||
Т.е. да, можно написать так:
Если обратите внимание, то параметром шаблона std::function как раз выступает тип функции. Т.е. на примере ТС будет так:
0
|
|||||||||||||||||||||||||||||||||||||||||
|
Гвоздь Задиров
1719 / 1118 / 337
Регистрация: 25.01.2019
Сообщений: 2,946
|
|||
| 19.06.2021, 14:53 | |||
0
|
|||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
||||||||
| 19.06.2021, 15:02 | ||||||||
|
В смысле эта тема про синтаксис этих объявлений. std::function
std::function, что без.Так что тема именно об этом, о том, чтобы разобраться. А уж std::function заюзать много проблем не составит.
2
|
||||||||
|
Гвоздь Задиров
1719 / 1118 / 337
Регистрация: 25.01.2019
Сообщений: 2,946
|
|||
| 19.06.2021, 15:14 | |||
![]() А разбираться нужно, эт да.
0
|
|||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
||
| 19.06.2021, 15:22 | ||
![]() Я не думаю, что автор сходу сейчас смог бы адаптировать это объявление под использование с std::function. И тут мы опять возвращаемся к исходному тезису, что сначала надо изучить как это все работает.
1
|
||
|
|
|||
| 19.06.2021, 16:31 | |||
, многолетняя привычка и вот только что нашёл открытие для себя int *(*pf)(int, char) (&f);инициализация указателя без = и оно работает.
0
|
|||
|
зомбяк
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
|
|||||||||||||||||
| 19.06.2021, 16:40 | |||||||||||||||||
0
|
|||||||||||||||||
|
|
||
| 19.06.2021, 16:56 | ||
int (*(*f)())[42] - f это указатель на функцию возращяющую указатель на массив из intint (*f())[42] - f это функция возращяющую указатель на массив из intпропал один указатель. почему тогда это одно и тоже ?
0
|
||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
|||||||||
| 19.06.2021, 18:33 | |||||||||
![]() Да, и приведения тут нет. Тут просто одна запись скрытым образом обозначает другую, и только в заданном контексте. ![]()
0
|
|||||||||
|
"C with Classes"
|
|
| 19.06.2021, 21:46 | |
|
0
|
|
|
|
||
| 19.06.2021, 22:17 | ||
|
DrOffset,
вот еслиб вы не сказали что аргумент как функция автоматически приводится к указателю (*p) долго бы не понимал почему второй statement true ? хотя пишут что "под капотом" оно неявно приводиться к разименованому указателю ... если я ничего не путаю.а какой вызов будет происходить быстрее и/или с меньшими русурсами оперативки void someFn(Print& (*n)(Print&))void someFn(Print& (&n)(Print&))?
0
|
||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
||||
| 19.06.2021, 22:40 | ||||
|
0
|
||||
|
|
||||
| 20.06.2021, 06:26 | ||||
|
Не по теме:
typedef void f_t(int); void f4(f_t* p); борбсь всеми силами
я понял что TRam_ и TheCalligrapher это имели ввиду в самом начале темы. вот пытался разобраться почему профессионалы понимают что это одно и тоже Добавлено через 6 минут а сори, кажеться понял что имелось ввиду int (*(*f)())[42]; это указатель на функцию (ну или как аргумент для функции принимающей функцию)int (*f())[42] - а это сама функция на которую ссылается подобный указатель. правильно?
0
|
||||
|
Вездепух
13207 / 6841 / 1823
Регистрация: 18.10.2014
Сообщений: 17,304
|
||||||||||||
| 20.06.2021, 06:55 | ||||||||||||
Никакого "конструктора по умолчанию" у типа int нет и никакой "инициализации переменной конструктором по-умолчанию" для типа int быть не может.
0
|
||||||||||||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
|
| 20.06.2021, 11:50 | |
|
0
|
|
| 20.06.2021, 11:50 | |
|
Передать в неуправляемую функцию указатель на указатель
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Контроль уникальности строк в табличной части документа
Maks 18.06.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ПланированиеСпецтехники" с табличной частью "НаличиеОборудования", разработанного в КА2.
Задача: контроль уникальности строк в. . .
|
Клиент
Uhbif79 18.06.2026
Здесь простой клиент для работы с сервером.
|
Сервер
Uhbif79 18.06.2026
Выкладываю простейший сервер.
|
Дефенестрация
kumehtar 18.06.2026
Узнал интересное слово. Дефенестрация. Это когда ты выбрасываешь кого-либо или что-либо из окна. Возьму на вооружение)))
|
|
Дихотомия добра и зла
kumehtar 18.06.2026
Как Дзен-буддисты говорят о добре и зле: не нужно воевать против зла, нужно воевать против невежества. Тогда добро станет ествественным, и поэтому вечным. Но дело в том, что невежество всё время. . .
|
Своя Интернет-Компания
iceja 18.06.2026
Я программист с экономическим образованием, пишу свой проект, это SaaS для бизнесов. Мне нужен co-founder с высшим экономическим образованием, и/ или инвестор. Сейчас проект в интенсивной разработке,. . .
|
24 Мат модель здравосохранения: функциональные требования к строительству пищеблока
anaschu 18.06.2026
СРесурсами1: финансовый SD-контур, калькулятор функциональных требований пищеблока
Сегодня разделили затраты в агенте Экономика по образцу модели НАСОСЫ, добавили расчёт ROI и построили первый. . .
|
23. что сделано за последнее время.
anaschu 17.06.2026
• Эталон: Клиника НИИ питания РАМН, Москва — централизованный пищеблок, 225 коек, 180 пациентов
• Git: репозиторий med2, ветка абсентеизм. Рабочий файл: СРесурсами1_v4. alp
• Смежный проект:. . .
|