Поделиться через


operator< (<utility>)

Тесты, если объект пара слева от оператора, чем объект пар в правой части.

template<class Type1, class Type2> 
   bool operator<( 
      const pair<Type1, Type2>& _Left, 
      const pair<Type1, Type2>& _Right 
   );

Параметры

  • _Left
    Объект типа pair слева от оператора.

  • _Right
    Объект типа pair в правой части оператора.

Возвращаемое значение

true, если pair слева от оператора строго, чем pair в правой части оператора; в противном случае — значение false.

Заметки

Считается, что будет объект _Left pair строго, чем объект _Right pair при _Left, и равное _Right.

В сравнении пар значений элементов, первые 2 пар имеет наивысший приоритет. Если они отличаются, результат сравнения их получается в результате сравнения пар. Если значения из двух элементов не различаются, сравниваются значения второго элементов и их результат сравнения, в результате сравнения пар.

Пример

// utility_op_lt.cpp
// compile with: /EHsc
#include <utility>
#include <iomanip>
#include <iostream>

int main( )
{
   using namespace std;
   pair <int, double> p1, p2, p3;

   p1 = make_pair ( 10, 2.22e-1 );
   p2 = make_pair ( 100, 1.11e-1 );
   p3 = make_pair ( 10, 1.11e-1 );

   cout.precision ( 3 );
   cout << "The pair p1 is: ( " << p1.first << ", " 
        << p1.second << " )." << endl;
   cout << "The pair p2 is: ( " << p2.first << ", " 
        << p2.second << " )." << endl;
   cout << "The pair p3 is: ( " << p3.first << ", " 
        << p3.second << " )." << endl << endl;

   if ( p1 < p2 )
      cout << "The pair p1 is less than the pair p2." << endl;
   else
      cout << "The pair p1 is not less than the pair p2." << endl;

   if ( p1 < p3 )
      cout << "The pair p1 is less than the pair p3." << endl;
   else
      cout << "The pair p1 is not less than the pair p3." << endl;
}
  

Требования

Заголовок:<utility>

Пространство имен: std