跳转到内容

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) 来调用。

有关将函数名用作值的更多信息(包括交互式示例)

华夏公益教科书