次の方法で共有


function::operator=

格納されている呼び出し可能オブジェクトを置き換えます。

function& operator=(null_ptr_type npc);
function& operator=(const function& right);
template<class Fty>
    function& operator=(Fty fn);
template<class Fty>
    function& operator=(reference_wrapper<Fty> fnref);

パラメーター

  • npc
    null ポインター定数。

  • right
    コピーする関数オブジェクト。

  • fn
    ラップする呼び出し可能オブジェクト。

  • fnref
    ラップする呼び出し可能オブジェクトの参照。

解説

この演算子は、*this が保持している呼び出し可能オブジェクトを、オペランドとして渡された呼び出し可能オブジェクトに置き換えます。

使用例

 

// std_tr1__functional__function_operator_as.cpp 
// compile with: /EHsc 
#include <functional> 
#include <iostream> 
 
int neg(int val) 
    { 
    return (-val); 
    } 
 
int main() 
    { 
    std::function<int (int)> fn0(neg); 
    std::cout << std::boolalpha << "empty == " << !fn0 << std::endl; 
    std::cout << "val == " << fn0(3) << std::endl; 
 
    std::function<int (int)> fn1; 
    fn1 = 0; 
    std::cout << std::boolalpha << "empty == " << !fn1 << std::endl; 
 
    fn1 = neg; 
    std::cout << std::boolalpha << "empty == " << !fn1 << std::endl; 
    std::cout << "val == " << fn1(3) << std::endl; 
 
    fn1 = fn0; 
    std::cout << std::boolalpha << "empty == " << !fn1 << std::endl; 
    std::cout << "val == " << fn1(3) << std::endl; 
 
    fn1 = std::cref(fn1); 
    std::cout << std::boolalpha << "empty == " << !fn1 << std::endl; 
    std::cout << "val == " << fn1(3) << std::endl; 
 
    return (0); 
    } 
 
  

必要条件

ヘッダー: <functional>

名前空間: std

参照

関連項目

function クラス

function::function

function::swap