std::function是c++11新增的一個(gè)模板類,目的是更為方便的使用函數(shù)指針趣避。
語(yǔ)法
std::function<函數(shù)返回值(形參列表)>? 變量名稱
舉例
我定義一個(gè)std::function類型的變量如下
std::function<int(int a, int b)> plusFunc;
它可以表示任何一個(gè)返回值為int,形參列表為int a, int b這樣的函數(shù)指針芯咧。
因此大脉,假如我有這樣的一個(gè)函數(shù)定義,我可以把函數(shù)的地址賦值給plusFunc仁连;
int puls(int a, int b)
{
? ? return a + b;
}
// 函數(shù)名就代表著該函數(shù)的地址,也就是指向該函數(shù)的指針
plusFunc = plus;
同樣阱穗,它和函數(shù)指針也可以相互賦值饭冬。
int (*p)(int, int);
plusFunc = p;