Вопросы по теме 'stdbind'

Есть ли reference_wrapper‹› для ссылок rvalue?
Интересно, как можно сделать следующее void f(string &&s) { std::string i(move(s)); /* other stuff */ } int main() { std::string s; bind(f, s)(); // Error. bind(f, move(s))(); // Error. bind(f, ref(s))(); // Error. }...
3571 просмотров
schedule 05.01.2023

Автоматический вывод типа с функтором не работает
Возможный дубликат: std::bind abound function void foo0(int val) { std::cout << "val " << val << "\n"; } void foo1(int val, std::function<void (int)> ftor) { ftor(val); } void foo2(int val, std::function<void...
260 просмотров
schedule 07.07.2022

Должен ли я видеть существенные различия между std::bind и boost::bind?
Я изучаю поддержку С++ 11 на g++-4.7 (Ubuntu/Linaro 4.7.3-2ubuntu ~ 12.04, если быть точным) и, кажется, нахожу различия. В частности, если я закомментирую #include <boost/bind.hpp> и систематически заменю boost::bind на std::bind в...
1554 просмотров
schedule 03.12.2022

в базовом классе, как определить контейнер, содержащий функцию obj, которая может быть любой функцией производного класса?
Я хочу определить контейнер в базовом классе, который содержит функцию obj или что-то еще, что может реализовать мою цель. Эти функции obj могут вызывать функции производных классов. все они принимают одинаковые параметры. #include...
113 просмотров
schedule 20.05.2023

Как мне `std::bind` нестатический член класса к функции обратного вызова Win32 `WNDPROC`?
Я пытаюсь привязать нестатический член класса к стандартному WNDPROC функция. Я знаю, что могу просто сделать это, сделав член класса статическим. Но, как изучающий C++11 STL, я очень заинтересован в том, чтобы сделать это с помощью инструментов...
3179 просмотров
schedule 10.08.2022

Могу ли я использовать std::bind конструктор базового класса, чтобы производному не нужно было вызывать его явно?
У меня есть абстрактный базовый класс, которому нужны некоторые объекты, переданные его конструктору, для инициализации его членов. Но я хотел бы избавиться от передачи этих объектов через конструктор производного класса. class Derived : public...
130 просмотров
schedule 24.03.2024

С++ 11 привязать и применить?
std::bind иногда называют «частичным применением». Есть ли причины, по которым, когда все параметры функции связаны, сама функция не применяется? Например, следующий код ничего не печатает. #include <functional> #include...
581 просмотров
schedule 29.07.2022

С++ 11 std::bind работает странно
Это менеджер событий, принцип работы которого показан в main(). Итак, код: class CEventManager { public: static CEventManager *const GetInstance() { static CEventManager pInstance; return &pInstance; };...
121 просмотров
schedule 03.07.2022

использовать std::bind с перегруженными функциями
Я не могу понять, как связать параметр с перегруженной функцией, используя std::bind . Почему-то std::bind не может вывести перегруженный тип (для его параметров шаблона). Если я не перегружаю функцию, все работает. Код ниже: #include...
4823 просмотров
schedule 08.04.2023

Segfault в деструкторе std::function
В настоящее время я поддерживаю C++ REST Server, разработанный на C++. Он предоставляет некоторые функции, такие как промежуточное ПО и маршруты. Маршруты хранятся во внутренней структуре класса маршрутизатора: //! The http router //! //!...
1807 просмотров

Отбрасывает ли std::bind информацию о типах параметров в С++ 11?
Случай возникновения проблемы Пожалуйста, рассмотрите следующий код С++: #include <functional> #include <iostream> #include <string> // Superclass class A { public: virtual std::string get() const { return...
189 просмотров
schedule 09.09.2022

Можно ли принимать вывод `std::bind` напрямую как значение, без преобразования в std::function?
В этом ответе говорится, что std::bind возвращает объект по значению, а этот комментарий подразумевает, что присвоение std::function вызовет выделение кучи для хранения значение, возвращаемое std::bind . Есть ли способ избежать этого...
664 просмотров
schedule 21.06.2023

Как std :: bind работает с функциями-членами
Я работаю с std::bind , но до сих пор не понимаю, как он работает, когда мы используем его с функциями класса-члена. Если у нас есть следующая функция: double my_divide (double x, double y) {return x/y;} Я прекрасно понимаю следующие...
45934 просмотров
schedule 20.11.2022

std :: function к функции-члену с переменным числом аргументов, а затем привяжите аргументы шаблона с переменным числом аргументов
У меня есть две функции-члены класса с переменным числом аргументов. Когда вызывается первый Init(...) , я хочу создать std :: function для второй функции-члена класса, а затем привязать аргументы Init(...) к указателю функции. Так что позже я...
790 просмотров

опустить std :: заполнители в std :: bind
Вот что я делаю для создания std :: function: - std::function<void(int,int,int)> f= std::bind(&B::fb,this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3 ); void B::fb(int x,int...
1061 просмотров
schedule 29.07.2023

Регистрация функции-члена класса в качестве обратного вызова функции с использованием std::bind
Я пытаюсь зарегистрировать функцию-член класса как (обычную) функцию обратного вызова. Если я что-то не так понял, это должно быть возможно с помощью std::bind (с использованием С++ 11). Я делаю это следующим образом: std::function<void...
1183 просмотров

Почему std::bind предотвращает позднее связывание при использовании передачи по ссылке?
У меня есть базовый класс, производный класс и виртуальная функция-член. У меня также есть функция, которая берет ссылку на базовый класс и делает полиморфный вызов функции-члена: #include <iostream> #include <functional> class Base...
285 просмотров

Сравните std::function, созданный с помощью std::bind
Вот пример игрушки #include <iostream> #include <functional> struct Obj { int x; int foo() { return 42; } }; int main() { Obj a, b; std::function<int()> f1 = std::bind(&Obj::foo, &a);...
393 просмотров
schedule 11.12.2022

std::function принимает разные сигнатуры функций в С++
Я пытаюсь создать систему событий С++, аналогичную системе С#. Мне нужно иметь возможность хранить любые функции и вызывать их с правильными параметрами в нужное время. Самое близкое, что я могу получить, это std::function, bind и placeholders, но...
345 просмотров
schedule 25.05.2024

Отбрасывает квалификаторы неизвестной причины (std :: bind () / lambda)
Я не понимаю, где и почему квалификаторы отбрасываются . #include <iostream> #include <memory> class A { public: void f() {}; }; template <typename Callable> void invoker(Callable c) { auto l = [=]() { c();...
763 просмотров
schedule 12.12.2022