STL谓词需要为纯谓词吗?
|
“纯”谓词是指它们仅取决于其论点。那么以下函数对象是否是用于std :: sort的有效谓词?
// A predicate for sorting objects of type T2 that relies on an
// object of type T1.
class APredicate {
T1 &someObj;
APredicate(T1 &someObject) : someObj(someObject) {};
bool operator() (T2 thing1, T2 thing2) {
return someObj.someFn(thing1) < someobj.someFn(thing2);
}
}
这曾经有效吗?一直有效吗?还是取决于someObj.SomeFn()的实际作用?
没有找到相关结果
已邀请:
2 个回复
伐教爸
的特定实例没有改变,那么对于
的特定实例从
返回的结果的主意就是“纯”。 只要条件在谓词的特定实例的生存期内成立(STL按值使用谓词,因此每个集合或操作都有其自己的实例),则它是正确的(显然,它必须满足特定谓词的任何其他要求或算法)。
委婪绷冗诉