Jak interpretować „operator const char * ()” przy przeciążaniu operatora?

Patrzyłem na jedną z implementacji klasy String i zauważyłem następujący przeciążony operator ==.

String f = "something";
String g = "somethingelse";
if (f == g)
    cout << "Strings are equal." << endl;

bool operator==(String sString)
{
    return strcmp(operator const char*(), (const char*)sString) == 0; 
}

Zrozumiałem większość tej części z wyjątkiemoperator const char*() do czego dokładnie służy? Mam bardzo podstawową wiedzę na temat przeciążania operatora, czy ktoś może rzucić na to trochę więcej światła?

questionAnswers(4)

yourAnswerToTheQuestion