为什么std :: less <int>()是一个函数对象

Jac*_*hin 1 c++ stl

为什么是std::less<int>()一个函数对象

std::sort(vec.begin(),vec.end(),std::less<int>());
Run Code Online (Sandbox Code Playgroud)

但是std::less<int>类型和操作符是函数调用,没有创建对象,或者我们可以引用的内存地址

Jok*_*_vD 7

std::less<int>()是一个构造函数调用.它创建了一个新std::less<int>对象,是的,已经超载operator().