Есть метод, который принимает callback:


void Bar::setCallback(const std::function<void(int, int)> &cb) {}


Я туда хочу передать метод класса, соответственно есть два пути:


// Метод, который передаём
void Foo::callback(int a, int b) {}

// Путь первый
bar->setCallback(std::bind(&Foo::callback, this, std::placeholders::_1, std::placeholders::_2);

// Путь второй
bar->setCallback([this] (int a, int b) { callback(a, b); });


Какой путь лучше, если рассмотреть с разных точек зрения: удобство написания, читаемость, может быть быстродействие и размер, если критично? Ваше личное мнение.









 , , ,






URL записи