Differences between C++ string == and compare()?

I just read some recommendations on using

std::string s = get_string();
std::string t = another_string();

if( !s.compare(t) ) 
{

instead of

if( s == t )
{

I’m almost always using the last one because I’m used to it and it feels natural, more readable. I didn’t even know that there was a separate comparison function.
To be more precise, I thought == would call compare().

What are the differences? In which contexts should one way be favored to the other?

I’m considering only the cases where I need to know if a string is the same value as another string.

9 Answers
9

Leave a Comment