C++ 语言/标准库/STL/可调用对象/函数名作为值
外观
可调用对象最简单的形式是某个现有函数的名称。如果您的软件已经定义了 int DoAddition(int x, int y) {return x+y;}
,那么您可以选择将可调用对象定义为 std::function<int(int,int)> DoMath = DoAddition;
。在这种情况下,可调用对象 (DoMath
) 是一个变量,可以像任何其他 C++ 变量一样进行操作。但可调用对象的特殊之处在于它可以被 "调用",可以通过函数调用运算符 DoMath(11,22)
或 std::invoke(DoMath, 11, 22)
来调用。