# std::function<R(Args...)>::target_type

< cpp‎ | utility‎ | functional‎ | function

const std::type_info& target_type() const noexcept; |  | (C++11 起)

返回存储的函数的类型。

### 参数

（无）

### 返回值

若存储的函数拥有 `T` 类型，则为 typeid(T) ，否则为 typeid(void) 。

### 示例

    #include <functional>
    #include <iostream>

    int f(int a) { return -a; }
    void g(double) {}
    int main()
    {
        // fn1 与 fn2 拥有相同类型，但其目标不如此
        std::function<int(int)> fn1(f),
                                fn2([](int a) {return -a;});
        std::cout << fn1.target_type().name() << '\n'
                  << fn2.target_type().name() << '\n';

        // C++17 起推导指引（ CTAD ）可用
        std::cout << std::function{g}.target_type().name() << '\n';
    }

可能的输出：

    PFiiE
    Z4mainEUliE_
    PFvdE

### 参阅

target | 获得指向 std::function 所存储的目标的指针 (公开成员函数)