170 похожих чатов

Такой вопрос появился: как можно вернуть из функции функцию

в плюсах (или можно вообще так)?

12 ответов

12 просмотров

а какую функцию?

std::function<int(…)> func() {}

Можно, от функции зависит как лучше это сделать (std::function может быть оверкиллом, но как универсальный вариант пойдет)

飴が欲しいだよ-In Spaikka Автор вопроса
Max Kolesnikov
Можно, от функции зависит как лучше это сделать (s...

using funcType = int(*)(int); typedef int(*funcType)(int); ещё такой вариант нашёл. std::function обёртка как понял и наверно в обычных случаях лучше использовать тайпалиасы?

飴が欲しいだよ In Spaikka
using funcType = int(*)(int); typedef int(*funcTyp...

Мне больше нравится запись using FuncType = std::add_pointer_t<int(int)>; Вместо классической. Сигнатуру гораздо лучше видно В случае возврата указателей на свободные функции std::function в общем-то и не нужен, можно ограничиться голыми указателями

Max Kolesnikov
Мне больше нравится запись using FuncType = std::a...

Вообще, при возврате чего-то конкретного, лучше писать auto (или на худой конец концепт), чтобы не привязываться к тому, указатель это или что-то стейтфул. std::invocable<int> auto foo() { return [](int i) {}; } (на этом моменте можно начать грустить, что std::invocable не смотрит на возвращаемый тип)

Alexander Karaev
Вообще, при возврате чего-то конкретного, лучше пи...

Дождаться бы еще концептов в продакшн-коде...

Max Kolesnikov
Дождаться бы еще концептов в продакшн-коде...

Ну, да. Это скорее теоретические рассуждения

Alexander Karaev
Ну, да. Это скорее теоретические рассуждения

А есть invocable с учетом возвращаемого типа? regular_invocable я так понимаю это про другое

Max Kolesnikov
А есть invocable с учетом возвращаемого типа? regu...

regular_invocable - синоним invocable с точки зрения реализации. У них отличия на идейном уровне и компилятором не проверяются. invocable с возвращаемым типом нет, но я предполагаю, что для гипотетического invocable_r<Ret, Args...> не ясно, это same_as<Ret, T> или convertible_to<Ret, T> (как и в requires нельзя написать { f() } -> Ret)

Похожие вопросы

Обсуждают сегодня

Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Мужики. привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных элементов...
Kraszx
2
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Всем привет! Кто пользуется DevExpress, подскажите пожалуйста, реализован ли в TcxGrid в новых версиях поиск по датам как в Экселе (ну т.е. не просто список чекбоксов со значе...
A Z
4
Карта сайта