function
<string>
Tóm Tắt
relational operators (string)
(1)
bool operator== (const string& lhs, const string& rhs); bool operator== (const char* lhs, const string& rhs); bool operator== (const string& lhs, const char* rhs);
(2)
bool operator!= (const string& lhs, const string& rhs); bool operator!= (const char* lhs, const string& rhs); bool operator!= (const string& lhs, const char* rhs);
(3)
bool operator< (const string& lhs, const string& rhs); bool operator< (const char* lhs, const string& rhs); bool operator< (const string& lhs, const char* rhs);
(4)
bool operator<= (const string& lhs, const string& rhs); bool operator<= (const char* lhs, const string& rhs); bool operator<= (const string& lhs, const char* rhs);
(5)
bool operator> (const string& lhs, const string& rhs); bool operator> (const char* lhs, const string& rhs); bool operator> (const string& lhs, const char* rhs);
(6)
bool operator>= (const string& lhs, const string& rhs); bool operator>= (const char* lhs, const string& rhs); bool operator>= (const string& lhs, const char* rhs);
(1)
bool operator== (const string& lhs, const string& rhs) noexcept; bool operator== (const char* lhs, const string& rhs); bool operator== (const string& lhs, const char* rhs);
(2)
bool operator!= (const string& lhs, const string& rhs) noexcept; bool operator!= (const char* lhs, const string& rhs); bool operator!= (const string& lhs, const char* rhs);
(3)
bool operator< (const string& lhs, const string& rhs) noexcept; bool operator< (const char* lhs, const string& rhs); bool operator< (const string& lhs, const char* rhs);
(4)
bool operator<= (const string& lhs, const string& rhs) noexcept; bool operator<= (const char* lhs, const string& rhs); bool operator<= (const string& lhs, const char* rhs);
(5)
bool operator> (const string& lhs, const string& rhs) noexcept; bool operator> (const char* lhs, const string& rhs); bool operator> (const string& lhs, const char* rhs);
(6)
bool operator>= (const string& lhs, const string& rhs) noexcept; bool operator>= (const char* lhs, const string& rhs); bool operator>= (const string& lhs, const char* rhs);
Relational operators for string
lhs and rhs.
The functions use
These operators are overloaded in header
Performs the appropriate comparison operation between the string objectsandThe functions use string::compare for the comparison.These operators are overloaded in header <string>
Parameters
- lhs, rhs
- Arguments to the left- and right-hand side of the operator, respectively.
If of type char*, it shall point to a null-terminated character sequence.
Example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// string comparisons
#include <iostream>
#include <vector>
int main ()
{
std::string foo = "alpha";
std::string bar = "beta";
if (foo==bar) std::cout << "foo and bar are equal\n";
if (foo!=bar) std::cout << "foo and bar are not equal\n";
if (foo< bar) std::cout << "foo is less than bar\n";
if (foo> bar) std::cout << "foo is greater than bar\n";
if (foo<=bar) std::cout << "foo is less than or equal to bar\n";
if (foo>=bar) std::cout << "foo is greater than or equal to bar\n";
return 0;
}
Output:
foo and bar are not equal foo is less than bar foo is less than or equal to bar
Output:
Return Value
true if the condition holds, and false otherwise.
Complexity
Unspecified, but generally up to linear in both lhs and rhs‘s
Unspecified, but generally up to linear in bothand’s lengths
Iterator validity
No changes.
Data races
Both objects, lhs and rhs, are accessed.
Exception safety
char*
does not point to null-terminated character sequence, it causes undefined behavior.
Otherwise, if an exception is thrown, there are no changes in the string (strong guarantee).
If an argument of typedoes not point to null-terminated character sequence, it causesOtherwise, if an exception is thrown, there are no changes in the(strong guarantee).
char*
does not point to null-terminated character sequence, it causes undefined behavior.
For operations between string objects, exceptions are never thrown (no-throw guarantee).
For other cases, if an exception is thrown, there are no changes in the string (strong guarantee).
If an argument of typedoes not point to null-terminated character sequence, it causesFor operations betweenobjects, exceptions are never thrown (no-throw guarantee).For other cases, if an exception is thrown, there are no changes in the(strong guarantee).