我正在玩 std::function 和 std::bind ,我注意到一些不直观的东西,我想更好地理解它。
例如:
void fun()
{
}
void hun(std::string)
{
}
int main()
{
function<void(int)> g = &fun; //This fails as it should in my understanding.
function<void(int)> f = std::bind(fun); //This works for reasons unknown to me
function<void(int, std::string)> h = std::bind(hun); //this doesn't work
return 0;
}
如何将 a 绑定function<void(int)>
到void()函数。然后我可以调用 f(1) 并获得 fun()。我想了解这是如何完成的。深入 Microsoft Visual Studio 2012 的实现让我迷失在无法阅读的宏的海洋中。所以这就是我在这里问这个问题的原因。