Udostępnij za pośrednictwem


function::target

Testy, jeśli obiekt wpłacone przechowywane jest wpłacone określone.

template<class Fty2>
    Fty2 *target();
template<class Fty2>
    const Fty2 *target() const;

Parametry

  • Fty2
    Typ wpłacone obiektu docelowego do testowania.

Uwagi

Typ Fty2 musi być wpłacone typów argumentu T1, T2, ..., TN i zwracany typ Ret.Jeśli target_type() == typeid(Fty2), funkcja szablonu Członkowskich zwraca adres obiektu docelowego; w przeciwnym razie zwraca 0.

Typ Fty2 jest wpłacone na typy argumentów T1, T2, ..., TN i zwracany typ Ret przypadku lvalues fn, t1, t2, ..., tN typów Fty2, T1, T2, ..., TN, odpowiednio, INVOKE(fn, t1, t2, ..., tN) jest dobrze sformułowany i, jeżeli Ret nie jest void, jest konwertowany na Ret.

Przykład

 

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

Wymagania

Nagłówek: <functional>

Obszar nazw: std

Zobacz też

Informacje

function Class

function::target_type