“纯”谓词我的意思是他们只有取决于他们的论点。因此,下面的函数对象是一个有效的谓语,用于说,std :: sortSTL谓词是否必须是纯谓词?
// 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()实际上做了什么?
可能重复[std :: set'有什么问题?](http://stackoverflow.com/questions/5397616/what-is-wrong-with-stdset) – Nawaz 2011-05-25 05:49:50
是的。请参阅可能的重复答案:[std :: set'有什么问题?](http://stackoverflow.com/questions/5397616/what-is-wrong-with-stdset) – Nawaz 2011-05-25 05:50:59
是的。你可以在我之前的评论中提供的链接中阅读。 – Nawaz 2011-05-25 06:02:27