string::operator>
Visual C++ で String:: operator> の標準テンプレート ライブラリ関数を使用する方法に (STL) ついて説明します。
template<class _E, class _TYPE, class _A> inline
bool operator>(const basic_string<_E, _TYPE, _A>& LString,
const _E *RCharArray);
template<class _E, class _TYPE, class _A> inline
bool operator>(const _E *LCharArray,
const basic_string<_E, _TYPE, _A>& RString);
解説
[!メモ]
プロトタイプのクラスやパラメーター名はヘッダー ファイルのバージョンと一致しない。ただし読みやすさが向上するように変更されました。
String:: operator> の関数の 2 種類のバージョンがあります。basic_string バージョンの両方に null で終わる文字配列を比較するために使用されます。それらの数字は結果を返すことによってこの操作を実行する (RString<LCharArray または RCharArray<LString)。この比較の詳細についてはString:: operator< の関数を参照してください。この演算子が文字配列の null ポインターを使用しないことに注意してください。演算子に渡す前に文字配列が null でないことを確認する必要があります。
使用例
// StringGreaterThan.cpp
// compile with: /EHsc
// Illustrates how to use the operator> to
// compare a basic_string variable to a
// null-terminated string.
//
// Functions:
//
// operator> Returns true if the second parameter is less than
// the first.
//////////////////////////////////////////////////////////////////////
#pragma warning(disable:4786)
#include <string>
#include <iostream>
using namespace std ;
void trueFalse(int x)
{
cout << (x? "True": "False") << endl;
}
int main()
{
string S1="ABC";
char CP1[]="ABC";
char CP2[]="DEF";
char CP3[]="ABCD";
char CP4[]="abc";
cout << "S1 is " << S1 << endl;
cout << "CP1 is " << CP1 << endl;
cout << "CP2 is " << CP2 << endl;
cout << "CP3 is " << CP3 << endl;
cout << "CP4 is " << CP4 << endl;
cout << "S1>CP1 returned ";
trueFalse(S1>CP1); // False (calls function 1)
cout << "S1>CP2 returned ";
trueFalse(S1>CP2); // False (calls function 1)
cout << "S1>CP4 returned ";
trueFalse(S1>CP4); // False (calls function 1)
cout << "CP1>S1 returned ";
trueFalse(CP1>S1); // False (calls function 2)
cout << "CP2>S1 returned ";
trueFalse(CP2>S1); // True (calls function 2)
cout << "CP3>S1 returned ";
trueFalse(CP3>S1); // True (calls function 2)
}
必要条件
ヘッダー : <string>