如何解决如何初始化可调用对象?
我今天正在学习默认模板参数,起初一切都很好,但是现在遇到了一些问题。
df
我知道template <typename T,typename F = std::less<T>>
int compare(const T &v1,const T &v2,F f = F()) {
if (f(v1,v2)) return -1;
if (f(v2,v1)) return 1;
return 0;
}
是可调用对象的类型,F
是可调用对象,但是f
是什么意思?类型和运算符()?
更让我感到困惑的是,F()
不接受任何内容,而F()
接受2个对象。初始化让我很困惑。
如果有人可以帮助我找出这些代码,我将非常感谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。