Я просто прочитал несколько рекомендаций по использованию
std::string s = get_string();
std::string t = another_string();
if( !s.compare(t) )
{
вместо
if( s == t )
{
Я почти всегда использую последний, потому что я привык к нему, и он чувствует себя естественным, более читаемым. Я даже не знал, что существует отдельная функция сравнения. Чтобы быть более точным, я думал, что == будет ссылаться на compare().
В чем отличия? В каких контекстах должен быть один путь к другому?
Я рассматриваю только те случаи, когда мне нужно знать, является ли строка тем же значением, что и другая строка.