C ++标准库函数std::min_element()接受一个函数对象作为最后一个参数,并且该对象的返回类型为bool。为什么不int呢?
使用true或false时,我们只有两个选项:<或>,但是如果两个条目相同,那该==怎么办?
在C中,可以通过将返回类型选择为来处理这种情况int。但这不是std::min_element()在C ++中完成的。
这是什么原因呢?
您将从这些信息中获得什么?该函数应该返回最小的元素(因此为name min_element)。它不需要关心平等,从中最终得到什么呢?布尔值足以判断一个元素是否小于另一个。如何处理平等取决于您可实现对象的实现。
用cppreference的话来说:
bool cmp(const Type1 &a, const Type2 &b);
Run Code Online (Sandbox Code Playgroud)
比较函数对象(即满足“比较”要求的对象),如果a小于b,则返回?true。
| 归档时间: |
|
| 查看次数: |
55 次 |
| 最近记录: |