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 で終わる文字配列を比較するために使用されます。それらの数字は結果の ()LString==RCharArray 拒否することでこの操作を実行する (または)LCharArray==RString。この比較の詳細についてはString:: operator== の関数を参照してください。この演算子が文字配列の null ポインターを使用しないことに注意してください。演算子に渡す前に文字配列が null でないことを確認する必要があります。
使用例
// StringNotEqual.cpp
// compile with: /EHsc
// Illustrates how to use the operator!= to test for
// non-equality of a basic_string variable and a
// null-terminated string.
//
// Functions:
//
// operator!= Returns true if the basic_string and the null-
// terminated string are not equal.
//////////////////////////////////////////////////////////////////////
#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[]="abc";
cout << "S1 is " << S1 << endl;
cout << "CP1 is " << CP1 << endl;
cout << "CP2 is " << CP2 << endl;
cout << "CP3 is " << CP3 << endl;
cout << "S1!=CP1 returned ";
trueFalse(S1!=CP1); // False (calls function 1)
cout << "S1!=CP2 returned ";
trueFalse(S1!=CP2); // True (calls function 1)
cout << "S1!=CP3 returned ";
trueFalse(S1!=CP3); // True (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>