Comme mon professeur a enseigné, je l'habitude de mettre en œuvre l'opérateur < < commeopérateur la mise en œuvre << droit
ostream &operator<<(ostream &out, const MyClass &c)
{
cout << someVariables;
return out;
}
Mais je me suis rendu, nous obtenons un objet ostream
, pourquoi woldn't nous utilisons? Je l'ai essayé et cela a fonctionné:
ostream &operator<<(ostream &out, const MyClass &c)
{
out << 123;
return out;
}
que dois-je utiliser? quels sont les avantages de chacun?
La première volonté ** toujours ** à imprimer 'cout' même si vous utilisez un autre cours d'eau. La seconde va imprimer dans le flux fourni. Pensez à quelque chose comme 'aStream << MyClass()'. –
Pourquoi voudriez-vous 'some_stream_that_is_not_cout << some_object' à écrire à' cout'? \ – Peter
L'avantage de la seconde est que, contrairement à la première, il est complètement faux. – molbdnilo