operator< (<string>)
演算子の左側の文字列オブジェクトが右側の文字列オブジェクトにより小さいかどうかをテストします。
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
);
パラメーター
_Left
型 basic_string における. の式の文字列を比較するオブジェクト。_Right
型 basic_string における. の式の文字列を比較するオブジェクト。
戻り値
演算子の左側の文字列オブジェクトが辞書式に文字列の右側のオブジェクトより小さいtrue ; それ false。
解説
文字列間の辞書式の比較は文字でその文字までと比較しています:
これは等しくない対応する 2 文字を検索し、比較の結果は、文字列間で比較の結果取得されます。
これは非等値を検索しませんが、1 文字列を他よりも多くの文字があり、短い文字列に長い文字列未満であると見なされます。
この例では、文字列の数が同じであるため、検出しない文字列が等しいことを検出および非等価です。
使用例
// 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;
}
必要条件
ヘッダー: <string>
名前空間: std