std::function::operator()

来自cppreference.com
< cpp‎ | utility‎ | functional‎ | function

 
 
 
函数对象
函数包装
(C++11)
(C++11)
(C++17)
绑定
(C++11)
引用包装
(C++11)
(C++11)
运算符包装
取反器
(过时)
(过时)

(过时)
查找器
旧绑定器与适配器
(C++17 前)
(C++17 前)
(C++17 前)
(C++17 前)
(C++17 前)
(C++17 前)
(C++17 前)
(C++17 前)
(C++17 前)
(C++17 前)
(C++17 前)
(C++17 前)

(C++17 前)
(C++17 前)
(C++17 前)
(C++17 前)
(C++17 前)
 
std::function
成员函数
原文:
Member functions
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
function::operator()
非成员函数
原文:
Non-member functions
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
Helper类
原文:
Helper classes
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
 
R operator()( ArgTypes... args ) const;
(C++11 起)

Calls the stored callable function target with the parameters args.

目录

[编辑] 参数

args - parameters to pass to the stored callable function target

[编辑] 返回值

None if R is void. Otherwise the return value of the invocation of the stored callable object.

[编辑] 例外

  • std::bad_function_call if *this does not store a callable function target, !*this == true.

[编辑] 示例

The following example shows how std::function can passed to other functions by value. Also, it shown how std::function can store lambdas.

#include <iostream>
#include <functional>
 
void call(std::function<int()> f)  // can be passed by value
{
    std::cout << f() << '\n';
}
 
int normal_function()
{
    return 42;
}
 
int main()
{
    int n = 1;
    std::function<int()> f = [&n](){ return n; };
    call(f);
 
    n = 2;
    call(f);
 
    f = normal_function;
    call(f);
}

输出:

1
2
42

[编辑] 另请参阅