| (1) | template <class charT, class traits, class Alloc> bool operator== (const basic_string<charT,traits,Alloc>& lhs, const basic_string<charT,traits,Alloc>& rhs);template <class charT, class traits, class Alloc> bool operator== (const charT* lhs, const basic_string<charT,traits,Alloc>& rhs);template <class charT, class traits, class Alloc> bool operator== (const basic_string<charT,traits,Alloc>& lhs, const charT* rhs); |
|---|---|
| (2) | template <class charT, class traits, class Alloc> bool operator!= (const basic_string<charT,traits,Alloc>& lhs, const basic_string<charT,traits,Alloc>& rhs);template <class charT, class traits, class Alloc> bool operator!= (const charT* lhs, const basic_string<charT,traits,Alloc>& rhs);template <class charT, class traits, class Alloc> bool operator!= (const basic_string<charT,traits,Alloc>& lhs, const charT* rhs); |
| (3) | template <class charT, class traits, class Alloc> bool operator< (const basic_string<charT,traits,Alloc>& lhs, const basic_string<charT,traits,Alloc>& rhs);template <class charT, class traits, class Alloc> bool operator< (const charT* lhs, const basic_string<charT,traits,Alloc>& rhs);template <class charT, class traits, class Alloc> bool operator< (const basic_string<charT,traits,Alloc>& lhs, const charT* rhs); |
| (4) | template <class charT, class traits, class Alloc> bool operator<= (const basic_string<charT,traits,Alloc>& lhs, const basic_string<charT,traits,Alloc>& rhs);template <class charT, class traits, class Alloc> bool operator<= (const charT* lhs, const basic_string<charT,traits,Alloc>& rhs);template <class charT, class traits, class Alloc> bool operator<= (const basic_string<charT,traits,Alloc>& lhs, const charT* rhs); |
| (5) | template <class charT, class traits, class Alloc> bool operator> (const basic_string<charT,traits,Alloc>& lhs, const basic_string<charT,traits,Alloc>& rhs);template <class charT, class traits, class Alloc> bool operator> (const charT* lhs, const basic_string<charT,traits,Alloc>& rhs);template <class charT, class traits, class Alloc> bool operator> (const basic_string<charT,traits,Alloc>& lhs, const charT* rhs); |
| (6) | template <class charT, class traits, class Alloc> bool operator>= (const basic_string<charT,traits,Alloc>& lhs, const basic_string<charT,traits,Alloc>& rhs);template <class charT, class traits, class Alloc> bool operator>= (const charT* lhs, const basic_string<charT,traits,Alloc>& rhs);template <class charT, class traits, class Alloc> bool operator>= (const basic_string<charT,traits,Alloc>& lhs, const charT* rhs); |
| (1) | template <class charT, class traits, class Alloc> bool operator== (const basic_string<charT,traits,Alloc>& lhs, const basic_string<charT,traits,Alloc>& rhs) noexcept;template <class charT, class traits, class Alloc> bool operator== (const charT* lhs, const basic_string<charT,traits,Alloc>& rhs);template <class charT, class traits, class Alloc> bool operator== (const basic_string<charT,traits,Alloc>& lhs, const charT* rhs); |
|---|---|
| (2) | template <class charT, class traits, class Alloc> bool operator!= (const basic_string<charT,traits,Alloc>& lhs, const basic_string<charT,traits,Alloc>& rhs) noexcept;template <class charT, class traits, class Alloc> bool operator!= (const charT* lhs, const basic_string<charT,traits,Alloc>& rhs);template <class charT, class traits, class Alloc> bool operator!= (const basic_string<charT,traits,Alloc>& lhs, const charT* rhs); |
| (3) | template <class charT, class traits, class Alloc> bool operator< (const basic_string<charT,traits,Alloc>& lhs, const basic_string<charT,traits,Alloc>& rhs) noexcept;template <class charT, class traits, class Alloc> bool operator< (const charT* lhs, const basic_string<charT,traits,Alloc>& rhs);template <class charT, class traits, class Alloc> bool operator< (const basic_string<charT,traits,Alloc>& lhs, const charT* rhs); |
| (4) | template <class charT, class traits, class Alloc> bool operator<= (const basic_string<charT,traits,Alloc>& lhs, const basic_string<charT,traits,Alloc>& rhs) noexcept;template <class charT, class traits, class Alloc> bool operator<= (const charT* lhs, const basic_string<charT,traits,Alloc>& rhs);template <class charT, class traits, class Alloc> bool operator<= (const basic_string<charT,traits,Alloc>& lhs, const charT* rhs); |
| (5) | template <class charT, class traits, class Alloc> bool operator> (const basic_string<charT,traits,Alloc>& lhs, const basic_string<charT,traits,Alloc>& rhs) noexcept;template <class charT, class traits, class Alloc> bool operator> (const charT* lhs, const basic_string<charT,traits,Alloc>& rhs);template <class charT, class traits, class Alloc> bool operator> (const basic_string<charT,traits,Alloc>& lhs, const charT* rhs); |
| (6) | template <class charT, class traits, class Alloc> bool operator>= (const basic_string<charT,traits,Alloc>& lhs, const basic_string<charT,traits,Alloc>& rhs) noexcept;template <class charT, class traits, class Alloc> bool operator>= (const charT* lhs, const basic_string<charT,traits,Alloc>& rhs);template <class charT, class traits, class Alloc> bool operator>= (const basic_string<charT,traits,Alloc>& lhs, const charT* rhs); |
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;
}
foo and bar are not equal foo is less than bar foo is less than or equal to bar
char* does not point to null-terminated character sequence, it causes undefined behavior.char* does not point to null-terminated character sequence, it causes undefined behavior.