c++ - Callable 概念和 std::is_function 类型特征有什么区别?

标签 c++ function function-pointers

C++17 将有一个 Callable 概念,我想知道 std::is_function<T>::value 的类型到底有什么区别?是true .它们等价吗?一个是另一个的超集吗?

最佳答案

C++17 will have a Callable concept

自 C++11 以来,它就存在于标准中。

Are they equivalent? Is one a superset of the other?

不,事实上,它们完全不相交。 Callable 仅适用于对象类型,并且包括从指向成员的指针到具有重载的 operator() 的类型到具有从函数指针到函数指针的隐式转换的类型的所有内容他们自己。

is_function 仅对实际函数类型为真,根据定义,实际函数类型不是对象类型。

关于c++ - Callable 概念和 std::is_function 类型特征有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34033969/

相关文章:

c++ - 最佳像素回读策略

c++ - Windows 上的 Qt 类错误

C++ 重新声明不一致/有趣

c++ - 如何创建返回类型为 map<> 的函数?

c++ - 要调用的函数列表。必须有相同的签名。更好的实现?

c++ - 被函数指针迷惑为类中另一个函数的参数

c++ - 如何从另一个类调用指向成员函数的指针?

c++ - 从模板参数继承是不好的做法吗?

javascript - TypeScript 类函数作为函数 VS 变量具有更好的性能

c++ - 如果大于则无锁增量