R operator()(ArgTypes... args) const;
概要
関数を呼び出す。
効果
*this
が保持している関数ポインタまたは関数オブジェクトf
に対して、INVOKE(f, std::forward<ArgTypes>(args)..., R)
を行う。
戻り値
R
型がvoid
の場合は何も返さない。そうでなければ、関数呼び出しの戻り値を返す。
例外
関数ポインタまたは関数オブジェクトを保持していない場合、bad_function_call
例外を送出する。
例
#include <iostream>
#include <functional>
int ident(int x)
{ return x; }
int main()
{
std::function<int(int)> f = ident;
// 関数呼び出し : 保持しているident()関数を呼び出す
int result = f(1);
std::cout << result << std::endl;
}
出力
1
バージョン
言語
- C++11
処理系
- Clang: 3.0 ✅
- GCC: 4.3.6 ✅
- Visual C++: ??