operator< (<string>)

Testy, jeśli obiekt string po lewej stronie operatora jest mniejsza niż do obiektu ciąg po prawej stronie.

template<class CharType, class Traits, class Allocator> 
   bool operator<( 
      const basic_string<CharType, Traits, Allocator>& _Left, 
      const basic_string<CharType, Traits, Allocator>& _Right 
   ); 
template<class CharType, class Traits, class Allocator> 
   bool operator<( 
      const basic_string<CharType, Traits, Allocator>& _Left, 
      const CharType *_Right 
   ); 
template<class CharType, class Traits, class Allocator> 
   bool operator<( 
      const CharType *_Left, 
      const basic_string<CharType, Traits, Allocator>& _Right 
   );

Parametry

  • _Left
    Ciąg stylu C lub obiektu typu basic_string ma być porównywana.

  • _Right
    Ciąg stylu C lub obiektu typu basic_string ma być porównywana.

Wartość zwracana

TRUE Jeśli obiekt string po lewej stronie operatora jest leksykograficznym mniej niż obiekt string po prawej stronie; w przeciwnym razie false.

Uwagi

Lexicographical porównania ciągów porównuje je znak po znaku, aż do:

  • Znajduje dwa odpowiadające im znaki w porównaniach traktowane jako różne i w wyniku porównania ciągów są uzyskiwane wyniki ich porównania.

  • Znalezione nie nierówności, ale jeden ciąg zawiera więcej znaków niż inne i krótszego ciągu jest uważany za mniej niż dłuższy ciąg.

  • Znalezione nie nierówności i stwierdza, że ciągi mają tę samą liczbę znaków, a więc ciągi są równe.

Przykład

// string_op_lt.cpp
// compile with: /EHsc
#include <string>
#include <iostream>

int main( )
{
   using namespace std;
   // Declaring an objects of type basic_string<char>
   string s1 ( "strict" );
   string s2 ( "strum" );
   cout << "The basic_string s1 = " << s1 << "." << endl;
   cout << "The basic_string s2 = " << s2 << "." << endl;

   // Declaring a C-style string
   char *s3 = "strict";
   cout << "The C-style string s3 = " << s3 << "." << endl;

   // First member function: comparison between left-side object
   // of type basic_string & right-side object of type basic_string
   if ( s1 < s2 )
      cout << "The string s1 is less than the string s2." << endl;
   else
      cout << "The string s1 is not less than the string s2." << endl;

   // Second member function: comparison between left-hand object
   // of type basic_string & right-hand object of C-syle string type
   if ( s1 < s3 )
      cout << "The string s1 is less than the string s3." << endl;
   else
      cout << "The string s1 is not less than the string s3." << endl;

   // Third member function: comparison between left-hand object
   // of C-syle string type & right-hand object of type basic_string
   if ( s3 < s2 )
      cout << "The string s3 is less than the string s2." << endl;
   else
      cout << "The string s3 is not less than the string s2." << endl;
}
  

Wymagania

Nagłówek: <ciąg>

Przestrzeń nazw: std

Zobacz też

Informacje

string::operator<