std::function<R(Args...)>::target_type
来自 cppreference.com
< cpp | utility | functional | function
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 and fn2 have the same type, but their targets do not std::function<int(int)> fn1(f), fn2([](int a) {return -a;}); std::cout << fn1.target_type().name() << '\n' << fn2.target_type().name() << '\n'; // since C++17 deduction guides (CTAD) can avail std::cout << std::function{g}.target_type().name() << '\n'; }
可能的输出
PFiiE Z4mainEUliE_ PFvdE
[编辑] 另请参阅
获取指向存储目标的指针 (公共成员函数) | |
包含某些类型的相关信息,由 typeid 运算符返回的类 (类) | |
typeid | 查询类型的相关信息,返回表示该类型的 std::type_info 对象(运算符) |