Вспомогательные средства. Парные сравнения

   
На этом шаге мы рассмотрим один из способов реализации сравнения пар.

   
Для сравнения двух пар в стандартную библиотеку C++ включены обычные операторы сравнения.
Две пары считаются равными при совпадении отдельных компонентов:

namespace std {
  template <class T1, class T2>
  bool operator << (const pair<T1,T2>& x, const pair<T1,T2>& y) 
  { 
    return x.first == y.first && x.second = y.second;
  }
}

   
При сравнении пар первый компонент обладает более высоким приоритетом. Если первые компоненты пар различны,
то результат их сравнения (больше или меньше) определяет результат сравнения для пар в целом. Если первые
компоненты равны, то результат сравнения пар определяется сравнением вторых компонентов:

namespace std {
  template <class T1, class T2>
  bool operator< (const pair<T1,T2>& x, const pair<T1,.T2>& y) 
  { 
    return x.first < y.first ||
      (!(y.first <x.first) && x.second < y.second);
  }
}

   
Остальные операторы сравнения определяются аналогично.

   
На следующем шаге мы рассмотрим функцию make_pair.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий