Таких нет. Ни одного.
struct CbSource
{
int i = 5;
void callback()
{
std::cout << i << std::endl;
}
};
struct CbDest
{
void setCallback(std::function<void()> cb)
{
callback = std::move(cb);
}
void call()
{
callback();
}
std::function<void()> callback;
};
int main()
{
CbSource src;
CbDest dst;
dst.setCallback([self=&src](){ self->callback(); });
dst.call();
return 0;
}
class SocketServer
{
public:
...
void setCallback(std::function<void(std::string)>);
...
private:
std::function<void(std::string)> callback;
};
InstrumentalServer::InstrumentalServer()
{
server->setCallback([this](std::string s){ writeCommand(s); });
}
(*it).click();
да, полностью
2. Какая версия плюсов? std::bind с появлением лямбд не совсем понятен