Bonjour,

Petite question, dans la faq il est écrit al chose suivante:

Surcharge de + en fonction libre:
class A
{
};

A operator+(A const &first, A const &second);

Quelle est la version préférable ? En général, pour un opérateur binaire, il s'agit de la fonction libre, car elle respecte la symétrie que l'on s'attend à trouver entre les opérandes d'un tel opérateur, alors que la fonction membre considère que l'élément sur lequel elle agit (le this) doit être exactement du type voulu.
Mais si je surcharge cet opérateur en fonction libre, je ne peux pas renvoyer *this, dans ce cas, ce genre d'écriture m'est interdit:

x = y+w+y;

?

Merci !