Ну если компаратор транзитивный, так оно и есть. И если он транзитивный, то для map он не может вернуть более одного элемента (если сравнение по key_type).
Аргумент для equal_range transparent не компаратор, а специальный
Аргумент для equal_range transparent не компаратор, а специальный
Так то можно например написать transparent comparator для пар который заодно сможет сравнивать по first. И через equal_range(FirstType) получать диапазоны с одинаковым key.first.
Так то можно например написать transparent comparator для пар который заодно сможет сравнивать по first. И через equal_range(FirstType) получать диапазоны с одинаковым key.first.
Так то можно например написать transparent comparator для пар который заодно сможет сравнивать по first. И через equal_range(FirstType) получать диапазоны с одинаковым key.first.
Можно еще в этом случае компаратор, выдающий нетранзитивное равенство, использовать :)
Так то можно например написать transparent comparator для пар который заодно сможет сравнивать по first. И через equal_range(FirstType) получать диапазоны с одинаковым key.first.
есть такая известная в узких кругах штука max(lhs.second, lhs.first + rhs.second) <=> max(rhs.second, rhs.first + lhs.second)
если упорядоченный контейнер отсортирован по Compare1, а мы делаем transparent операции по Compare2, где упорядоченность по Compare1 гарантирует упорядоченность по Compare2, но не наоборот, то сохраняются ли все наши гарантии?
Всем доброго времени суток! Какие книжки порекомендуете для изучения C++ (язык обучения не имеет значения)? Я хотел бы выучить C++20' для создания приложений для ПК или может быть посмотрю на алгоритмы/UE4... Огромное спасибо!!