Verifique se o objeto ostream é cout ou ofstream, c ++
Existe uma maneira em C ++ para verificar se umostream
objeto écout
ou umofstream
objeto?
Algo como:
ostream& output(ostream& out)
{
if (out == cout)
return out;
else
{
out << "something different because its not going to the console" << endl;
return out;
}
}
A razão pela qual eu quero fazer isso, é que eu quero sobrecarregar o<<
operador a fazer duas coisas diferentes, dependendo do tipo de fluxo usado.
É possível sobrecarregar apenas o<<
operador duas vezes cada vez com um tipo diferente de fluxo?
Atualizado para refletir melhor a intenção.