【发布时间】:2011-02-09 02:47:24
【问题描述】:
我对 C++ 很陌生,不了解 STL 库的所有概念,所以请耐心等待。
我编写了以下代码 sn-p(粘贴在下面)来查找排序向量中的 lower_bound。
尽管此代码在发布模式下工作正常,但它在调试模式下断言(VStudio-8)。
我相信这是因为less_equal<int> 不是严格意义上的弱排序。
来自以下线程:stl ordering - strict weak ordering
我确实理解 STL 强加了弱排序,但我仍然不太清楚为什么?
在下面的例子中,我需要使用less_equal<int>,因为我试图在排序向量中找到最接近给定值的元素。
下面的代码 sn-p 是否有效?另外,有没有更好的方法呢?此外,任何关于什么是弱排序和偏序的见解/参考都会有所帮助。
int main() {
vector<int> dest;
for(int i = 0;i <6;i++) {
dest.push_back(i);
}
vector<int>::iterator i =
std::lower_bound(dest.begin(),dest.end(),4,less_equal< int >());
return 1;
}
【问题讨论】:
标签: c++ lower-bound