Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::function<R(Args...)>::operator()

      From cppreference.com
      <cpp‎ |utility‎ |functional‎ |function
       
       
      Utilities library
       
      Function objects
      Function invocation
      (C++17)(C++23)
      Identity function object
      (C++20)
      Old binders and adaptors
      (until C++17*)
      (until C++17*)
      (until C++17*)
      (until C++17*)  
      (until C++17*)
      (until C++17*)(until C++17*)(until C++17*)(until C++17*)
      (until C++20*)
      (until C++20*)
      (until C++17*)(until C++17*)
      (until C++17*)(until C++17*)

      (until C++17*)
      (until C++17*)(until C++17*)(until C++17*)(until C++17*)
      (until C++20*)
      (until C++20*)
       
       
      R operator()( Args...args)const;
      (since C++11)

      Invokes the stored callable function target with the parametersargs.

      Effectively doesINVOKE<R>(f,std::forward<Args>(args)...), wheref is thetarget object of*this.

      Contents

      [edit]Parameters

      args - parameters to pass to the stored callable function target

      [edit]Return value

      None ifR isvoid. Otherwise the return value of the invocation of the stored callable object.

      [edit]Exceptions

      Throwsstd::bad_function_call if*this does not store a callable function target, i.e.!*this==true.

      [edit]Example

      The following example shows howstd::function can be passed to other functions by value. Also, it shows howstd::function can store lambdas.

      Run this code
      #include <functional>#include <iostream> void call(std::function<int()> f)// can be passed by value{std::cout<< f()<<'\n';} int normal_function(){return42;} int main(){int n=1;std::function<int()> f;try{        call(f);}catch(conststd::bad_function_call& ex){std::cout<< ex.what()<<'\n';}     f=[&n](){return n;};    call(f);     n=2;    call(f);     f= normal_function;    call(f); std::function<void(std::string,int)> g;    g=[](std::string str,int i){std::cout<< str<<' '<< i<<'\n';};    g("Hi",052);}

      Possible output:

      bad_function_call1242Hi 42

      [edit]See also

      invokes the target
      (public member function ofstd::move_only_function)[edit]
      calls the stored function
      (public member function ofstd::reference_wrapper<T>)[edit]
      the exception thrown when invoking an emptystd::function
      (class)[edit]
      (C++17)(C++23)
      invokes anyCallable object with given argumentsand possibility to specify return type(since C++23)
      (function template)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/utility/functional/function/operator()&oldid=176858"

      [8]ページ先頭

      ©2009-2025 Movatter.jp