共用方式為


function Class

可呼叫之物件的包裝函式。

template<class Fty>
   class function  // Fty of type Ret(T1, T2, ..., TN)
   : public unary_function<T1, Ret>       // when Fty is Ret(T1)
   : public binary_function<T1, T2, Ret>  // when Fty is Ret(T1, T2)
   {
public:
   typedef Ret result_type;

   function();
   function(nullptr_t);
   function(const function& _Right);
   template<class Fty2>
      function(Fty2 fn);
   template<class Fty2, class Alloc>
       function (reference_wrapper<Fty2>, const Alloc& _Ax);
   template<class Fty2, class Alloc>
       void assign (Fty2, const Alloc& _Ax);
   template<class Fty2, class Alloc>
       assign (reference_wrapper<Fty2>, const Alloc& _Ax);
   function& operator=(nullptr_t);
   function& operator=(const function&);
   template<class Fty2>
      function& operator=(Fty2);
   template<class Fty2>
      function& operator=(reference_wrapper<Fty2>);
   void swap(function&);

   explicit operator bool() const;
   result_type operator()(T1, T2, ....., TN) const;

   const std::type_info& target_type() const;
   template<class Fty2>
      Fty2 *target();
   template<class Fty2>
      const Fty2 *target() const;
   template<class Fty2>
      void operator==(const Fty2&) const = delete;
   template<class Fty2>
      void operator!=(const Fty2&) const = delete;
};

參數

  • Fty
    包裝函式的型別。

  • _Ax
    配置器函式。

備註

樣板類別是呼叫簽章是 Ret(T1, T2, ..., TN)呼叫的包裝函式。 您可以在一個一致的包裝函式使用其封入各種可呼叫的物件。

有些成員函式採用命名預期目標物件的運算元。 您可以使用幾種方式指定這類運算元:

fn --可呼叫的物件 fn;在呼叫後 function 物件來保留 fn的複本。

fnref -- fnref.get()命名的可呼叫的物件;在呼叫後 function 物件儲存在 fnref.get()的參考

right --可呼叫的物件,如果沒有,則 function 物件 right保留。

npc --null 指標;在呼叫後 function 物件為 null

在所有情況下, INVOKE(f, t1, t2, ..., tN), f 可呼叫的物件,並 t1, t2, ..., tN 分別為型別 T1, T2, ..., TN 左值,必須是語式正確,則為,如果 Ret 不是空的,轉換為 Ret。

空的物件 function 不保留可呼叫之物件或參考可呼叫的物件。

Bb982519.collapse_all(zh-tw,VS.110).gif建構函式

function::function

建構包裝函式是空的或儲存任意型別可呼叫之物件具有內建的簽章的。

Bb982519.collapse_all(zh-tw,VS.110).gifTypedef

function::result_type

儲存可呼叫的物件的傳回型別。

Bb982519.collapse_all(zh-tw,VS.110).gif成員函式

function::assign

指派給這個函式物件的可呼叫的物件。

function::swap

交換兩個可呼叫的物件。

function::target

測試,如果儲存可呼叫的物件可呼叫之所指定。

function::target_type

取得可呼叫之物件的型別資訊。

Bb982519.collapse_all(zh-tw,VS.110).gif運算子

function::operator unspecified

測試,如果儲存可呼叫的物件。

function::operator()

呼叫可呼叫的物件。

function::operator=

取代儲存可呼叫的物件。

需求

標題: <functional>

命名空間: std

請參閱

參考

mem_fn Function

reference_wrapper Class