std-function

Я видел довольно много подобных вопросов, но не нашел решения своей конкретной проблемы. Я пытаюсь проглотить некоторый код C++11, который использует функцию std::, так что я могу использовать его в моем приложении Java. Я сталкивался с такими общими указателями: virtual std::shared_ptr<some::ns::The...

Как удалить функцию, которая связана с функцией-членом объекта this: std::vector<std::function<void(int)>> callbacks; class MyClass { public: MyClass() { callbacks.push_back( std::bind(&MyClass::myFunc,this,std::placeholders::_1) ); } ~MyClass() { ...

Учитывая следующее, Что такое "функция"? #include <functional> #include <vector> template<class T> class Foo { public: template<typename P, typename Q, typename R, typename... Args> void Attach(P (Q::*f)(Args...), R p) { auto function = [p, f](Args... args) ...

У меня есть такая функция: void cb( void *obj ) { if(nullptr != obj) { auto f = static_cast< function<void()>* >(obj); (*f)(); } } И я использую его следующим образом: auto obj = new function<void()> ( bind(&AClass::AMethod, &x) ); cb(obj); Где ACl...

Следующая программа не компилируется: #include <iostream> #include <vector> #include <functional> #include <algorithm> #include <cstdlib> #include <cmath> void asort(std::vector<double>& v, std::function<bool(double, double)> f) { std::sort(v.begin(),...

Я работаю над парсером combinator library, и мне бы очень хотелось, чтобы мой парсер был просто каким-то вызываемым объектом: typedef std::function<parse_result(parse_stream)> parser; Что делает парсер комбинаторов приятным, например: parser operator &(parser a, parser b) { return both(a,b); }...

Это, вероятно, философский вопрос, но я столкнулся со следующей проблемой: Если вы определяете функцию std:: и не инициализируете ее правильно, ваше приложение завершит работу следующим образом: typedef std::function<void(void)> MyFunctionType; MyFunctionType myFunction; myFunction(); Если функция...

благодаря C++11, мы получили std::function семейство оболочек функторов. К сожалению, я продолжаю слышать только плохие вещи об этих новых дополнениях. Самым популярным является то, что они ужасно медленно. Я проверил и они действительно сосут по сравнению с шаблонами. #include <iostream> #include <...

я хочу создать std::set С пользовательской функцией сравнения. Я мог бы определить его как класс operator(), но я хотел наслаждаться возможностью определить лямбда, где он используется, поэтому я решил определить лямбда-функцию в списке инициализации конструктора класса, который имеет std::set как участник. Н...

Я занимаюсь основами функционального программирования на C++. Я пытаюсь сделать функцию f(a)(b)(c), что вернет a + b + c. Я успешно реализовал функцию f(a)(b) который возвращает a + b. вот код для него: std::function<double(double)> plus2(double a){ return[a](double b){return a + b; }; } Я просто...