Como interpretar “operador const char * ()” na sobrecarga do operador?

Eu estava olhando para uma das implementações da classe String e notei o seguinte operador == sobrecarregado.

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; 
}

Eu entendi a maior parte da parte, excetooperator const char*() para que exatamente isso foi usado? Eu tenho conhecimento muito básico de sobrecarga de operador, alguém pode por favor lançar mais alguma luz sobre isso?

questionAnswers(4)

yourAnswerToTheQuestion