我在玩std::function和std::bind,我注意到一些不直观的东西,我想更好地理解它。例如:{{ {
function<void(int)> g = &fun; //Thisfunction<void(int)> f = std::bind(fun); //This works for re
int func(int x){return x;}std::function<int(int)> x = std::bind(func, std::placeholders::_1);,,x(123)实际上调用了std::function生成的函子的operator(),进而调用了std::bind生成的函子的operator(),最终调用了func?函子是否存在于std::bind生成的函数
", std::bind(add, std::placeholders::_1, std::placeholders::_2));// didn't work either
std::function<int(int, int)> fun = std::bind(add, std::placeholders::_1, st
在C++中,我们可以用std::bind很容易地做到这一点这个示例对我来说很清楚:std::bind将一个函数作为其第一个参数,然后接受n个其他参数,其中n是作为std::bind的第一个参数的函数的参数数量。std::bind( foo, i ) (); // <------ This is the line tha