В двоичном предикате значение итератора передается как второй аргумент, а в lower_bound
значение итератора передается в качестве первого аргумента.Почему предикатная версия lower_bound и upper_bound передает значение итератора непоследовательно?
Какова причина здесь? И имеет значение, помню ли я эту деталь или нет, когда писал свои собственные двоичные предикаты?
Примечание моя ссылка www.cplusplus.com (который я сказал, не может быть лучшим ссылки), и я подтвердил это, посмотрев на реализацию в stl
библиотеки поставляется с VC++
.
Алгоритмы используют меньше, чем для сравнения элементов (! (A
Не знаете, о чем говорите. Вы проверили справочную документацию ['std :: upper_bound'] (http://en.cppreference.com/w/cpp/algorithm/upper_bound) и [' std :: lower_bound'] (http: // en .cppreference.com/w/cpp/algorithm/lower_bound) на 'cppreference.com'? Это должен быть ваш ресурс для поиска стандартных документов библиотеки. – 5gon12eder
Возможно, вы можете использовать тот же предикат для 'std :: sort' и' std :: lower_bound' и 'std :: upper_bound' и т. Д., Которые используют предикат как отношение« меньше ». – SirGuy