The sample code below illustrates how to use the string::operator>=
STL function in Visual C++.
Required Header:
<string>
Function 1:
template<class _E, class _TYPE, class _A> inline
bool operator>=(const basic_string<_E, _TYPE, _A>& _L,
const _E *_R);
Function 2:
template<class _E, class _TYPE, class _A> inline
bool operator>=(const _E * _L,
const basic_string<_E, _TYPE, _A>& _R);
Note: The class/parameter names in the prototype do not match the version in the header file. Some have been modified to improve readability.
Description:
There are two versions of the string::operator>= function. Both versions are used to compare a null-terminated character array against a basic_string. They perform this operation by negating the result of (_L < _R). For more information on this comparison, please see the string::operator< function.
Sample Code:
//////////////////////////////////////////////////////////////////////
//
// Compile options needed: none
//
// StringGreaterEqual.cpp:
// Illustrates how to use the operator>= to compare a
// basic_string variable and a null-terminated string.
//
// Functions:
//
// operator>= Returns true if the first parameter is not less than
// the second.
//
// Written by Derek Jamison
// of Microsoft AnswerPoint Support,
// Copyright (c) 1996 Microsoft Corporation. All rights reserved.
//////////////////////////////////////////////////////////////////////
#pragma warning(disable:4786)
#include <string>
#include <iostream>
using namespace std ;
void truefalse(int x)
{
cout << (x?"True":"False") << endl;
}
void main()
{
string S1="ABC";
char CP1[4]="ABC";
char CP2[4]="DEF";
cout << "S1 is " << S1 << endl;
cout << "CP1 is " << CP1 << endl;
cout << "CP2 is " << CP2 << endl;
cout << "S1>=CP1 returned ";
truefalse(S1>=CP1); // True (calls function 1)
cout << "S1>=CP2 returned ";
truefalse(S1>=CP2); // False (calls function 1)
cout << "CP1>=S1 returned ";
truefalse(CP1>=S1); // True (calls function 2)
cout << "CP2>=S1 returned ";
truefalse(CP2>=S1); // True (calls function 2)
}
Program Output is:
S1 is ABC
CP1 is ABC
CP2 is DEF
S1>=CP1 returned True
S1>=CP2 returned False
CP1>=S1 returned True
CP2>=S1 returned True