std::pair
предоставляет предварительно написанные конструкторы и операторы сравнения. Это также позволяет хранить их в контейнерах, таких как std :: map, без необходимости писать, например, конструктор копирования или строгое слабое упорядочение через operator <
(например, как требуется std::map
). Если вы их не напишите, вы не сможете ошибиться (помните, как работает строгий слабый порядок?), Поэтому более надежно использовать std::pair
.