当前位置:  开发笔记 > 编程语言 > 正文

Callable概念和std :: is_function类型特征之间有什么区别?

如何解决《Callable概念和std::is_function类型特征之间有什么区别?》经验,为你挑选了1个好方法。

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



1> T.C...:

C++ 17将有一个Callable概念

它是自C++ 11以来的标准.

它们是等价的吗?是另一个的超集吗?

不,事实上,他们是完全不相交的.Callable仅适用于对象类型,并包括从指针到成员到具有重载operator()到类型的类型的所有内容,其中隐式转换为函数指针本身的函数指针.

is_function 仅适用于实际函数类型,根据定义,它们不是对象类型.


LWG [可能会调整这里的措辞](http://wg21.link/lwg2393),但不会影响这个答案(除了可能将`Callable`重命名为`Lvalue-Callable`).
推荐阅读
和谐啄木鸟
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有