Compartir a través de


function::target

Comprueba si el objeto accesible almacenado es accesible especificadas.

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

Parámetros

  • Fty2
    El tipo de objeto accesible de destino a probar.

Comentarios

El tipo Fty2 debe ser accesible para los tipos T1, T2, ..., TN de argumentos y el tipo de valor devuelto Ret.Si target_type() == typeid(Fty2), función de plantilla miembro devuelve la dirección del objeto de destino; de lo contrario, devuelve 0.

Un tipo Fty2 es accesible para los tipos T1, T2, ..., TN de argumentos y el tipo de valor devuelto Ret si, para los son fn, t1, t2, ..., tN de los tipos Fty2, T1, T2, ..., TN, respectivamente, INVOKE(fn, t1, t2, ..., tN) es correcto y, si Ret no es void, convertible a Ret.

Ejemplo

 

// 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); 
    } 
 
  

Requisitos

encabezado: <funcional>

espacio de nombres: std

Vea también

Referencia

function Class

function::target_type