24 Strings library [strings]

24.3 String classes [string.classes]

24.3.3 Non-member functions [string.nonmembers]

24.3.3.2 operator== [string.operator==]

template<class charT, class traits, class Allocator> bool operator==(const basic_string<charT, traits, Allocator>& lhs, const basic_string<charT, traits, Allocator>& rhs) noexcept;
Returns: lhs.compare(rhs) == 0.
template<class charT, class traits, class Allocator> bool operator==(const charT* lhs, const basic_string<charT, traits, Allocator>& rhs);
Returns: rhs == lhs.
template<class charT, class traits, class Allocator> bool operator==(const basic_string<charT, traits, Allocator>& lhs, const charT* rhs);
Requires: rhs points to an array of at least traits​::​length(rhs) + 1 elements of charT.
Returns: lhs.compare(rhs) == 0.