интересующая строка отмечена.
вопрос в том, зачем менять аргументы местами и проверять что они не меньше?
т.е. тут мы берем по одному элементу из обеих тьюплов по индексу '__i', проверяем на меньше, а потом меняем тьюплы местами, берем те же самые элементы, и проверяем на НЕ меньше.
в чем смысл?
спасибо.
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Здравствуйте, Nikе, Вы писали:
N>Если первый аргумент меньше — выходим сразу, иначе, если аргументы равны — проверяем следующую пару, иначе фалс. В чём проблема?
наверное я чего-то не так объяснил...
вопрос вот в чем:
Здравствуйте, Nikе, Вы писали:
N>Если первый аргумент меньше — выходим сразу, иначе, если аргументы равны — проверяем следующую пару, иначе фалс. В чём проблема?
ах да, все верно! %)
спасибо!
вопрос закрыт.
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Здравствуйте, niXman, Вы писали:
N>>Если первый аргумент меньше — выходим сразу, иначе, если аргументы равны — проверяем следующую пару, иначе фалс. В чём проблема? X>наверное я чего-то не так объяснил... X>вопрос вот в чем: X>
X>auto l = std::get<__i>(__t);
X>auto r = std::get<__i>(__u);
X>bool ok = (l < r) || (!(r < l));
X>
X>(вроде ничего не напутал)
X>вопрос в том, зачем тут еще и проверка (!(r < l))?
Не, там не так. Там:
if ( l < r ) // если текущий левый меньше правого - всё ок, тупл меньшеreturn true;
if ( r < l ) // если текущий правый меньше левого - всё пропало, тупл точно не меньшеreturn false;
return __tuple_compare<_Tp, _Up, __i + 1, __size>::__less(__t, __u) // если текущие аргументы примерно равны - проверяем следующую пару.
В самодостаточности предиката "меньше" для лексикографического сравнения.
Оно так для всех структур определяется — будь то строки, векторы, пары.
(a,b...) < (c,d...) =
a < c ||
a == c && (b...) < (d...) -- рекурсивная формула
(a == c) = !(a < c) && !(c < a) -- аксиома
(a,b...) < (c,d...) =
(a < c) ||
!(a < c) && !(c < a) && (b...) < (d...)
~~~~~~~~
это избыточно