Очень удобно делать обратную связь через std::function и использовать его с лямбда или статическими функциями, но вот когда дело дошло до метода класса, не сразу нашел как это можно реализовать, а ведь тоже частенько бывает нужно в качестве калбэка вызвать метод класса. Например пересматривать файлы по фильтру и калбэком отправлять те, что нужно загрузить.
Ответ нашел в MSDN’е, выглядит это так

// Bind a class method.
c(bind1st(mem_fun(&square::square_value), &s));

где square::square_value — метод класса,
s — экземпляр класса
с — метод принимающий std::function в качестве аргумента

std::function и метод класса
Метки:        

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *