C++ 函数库 - 运算符()


描述

它使用参数 args 调用存储的可调用函数目标。

宣言

以下是 std::function::function::operator() 的声明

R operator()( Args... args ) const;

C++11

R operator()( Args... args ) const;

参数

args - 传递给存储的可调用函数目标的参数。

返回值

如果 R 为空,则不返回任何内容。否则为存储的可调用对象调用的返回值。

例外情况

noexcept:它不抛出任何异常。

例子

在下面的 std::function::operator() 示例中。

#include <iostream>
#include <functional>
 
void call(std::function<int()> f) {
   std::cout << f() << '\n';
}

int normal_function() {
   return 50;
}

int main() {
   int n = 4;
   std::function<int()> f = [&n](){ return n; };
   call(f);

   n = 5;
   call(f);

   f = normal_function;
   call(f);
}

输出应该是这样的 -

4
5
50
功能.htm