question sur la surcharge d'opérateur ++
J'ai une question concernant la surdéfinition des opérateur pour les itérateurs.
Dans le code du header <iterator> de la STL, à la ligne 46, on a:
Code:
1 2 3 4 5 6 7 8 9
| _Myt& operator++()
{ // pretend to preincrement
return (*this);
}
_Myt operator++(int)
{ // pretend to postincrement
return (*this);
} |
Je ne comprends pas du tout le fonctionnement du deuxième opérateur. Surtout, a quoi correspond et sert le (int)? il s'agit d'une fonction, mais elle ne possède pas d'argument. Il y a juste la déclaration du type.
Enfin, pourquoi la préincrémentation renvoie une référence, alors que la posteincrémentation renvoie une valeur?
Merci