documentation for upper_bound状態:STL upper_boundの定義に不一致がありますか?
...それは)最初の、最後の順序付けられた範囲内の要素の値を見つけようと...私は[最初、最後に遠いイテレータを返すUPPER_BOUND)そのようなため、その[first、i)のすべての反復子j、値< * jはfalseです。しかし
、我々はupper_bound(v.begin(), v.end(), 5)
はv.end()
を返します呼び出し、番号1、2、および3が含まれているvector<int> v
を持っている場合。しかし、定義に基づいて、v.end()
は[v.begin, v.end())
の範囲内にありません。定義の要件に適合するイテレータはありません。この定義は、この場合に何が起こるかを明示的に記述していないだけで怠惰ですか?
彼は本当にSGIのSTL ... – PlasmaHH
@PlasmaHH意味場合には、関連性がある:フェアポイントを、私は誰もが本当にSGIのSTLを意味見たことがありませんので、私はOPはその仮定の下に行きますよ標準ライブラリアルゴリズムを参照していました。 – ildjarn
私の問題はSGI STLでの言い回しでしたが、私の混乱は解消され、C++標準はあいまいではありません。レッスンで学んだことは、SGIではなく標準を参照することです。 – Matt