是否有任何具有 STL 函数的库,如std::sort()
, std::binary_search()
, std::lower_bound()
,std::upper_bound()
接受 3 路比较谓词(在较少时返回 -1,在相等时返回 0,在大时返回 1)而不是较少谓词(在较少时为真,在相等或大时为假)?
当然,less 谓词可以很容易地从现有的 3 向谓词(如[](A a, B b) { return compare3(a,b)<0; }
)中提取出来,但这会导致对谓词的调用次数增加。