std::function<R(Args...)>::target_type
ja.cppreference.net より
const std::type_info& target_type() const noexcept;
|
(C++11以降) | |
格納された関数の型を返します。
パラメータ
(なし)
戻り値
typeid
(
T
)
格納された関数の型が
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
関連項目
|
格納されたターゲットへのポインタを取得する
(public member function) |
|
|
型の情報を含み、typeid演算子によって返されるクラス
(class) |
|
| typeid |
型の情報を問い合わせ、
std::type_info
オブジェクトを返す
(operator) |