最終更新日時: 2025年07月12日 02時16分44秒 (JST)
Koichi Murase が更新

履歴 編集

function
<functional>

# std::function::target_type(C++11)

    const std::type_info& target_type() const noexcept;

## 概要

元となる関数の型情報を取得する。

## 戻り値

呼び出す関数を持っていれば、その関数の型を表す`type_info`オブジェクトを返す。呼び出す関数を持っていなければ、`typeid(void)`を返す。

## 例

    #include <iostream>
    #include <functional>

    struct ident {
      int operator()(int x) const
      { return x; }
    };

    int main()
    {
      std::function<int(int)> f = ident();

      if (f.target_type() == typeid(ident)) {
        std::cout << "f has ident" << std::endl;
      }
      else {
        std::cout << "f doesn't have ident" << std::endl;
      }
    }

### 出力

    f has ident

## バージョン

### 言語

- C++11

### 処理系

- Clang: 3.0 ✅
- GCC: 4.3.6 ✅
- Visual C++: ??

## 参照