Bonjour,
Si on écrit *this = machin.x, à mon avis on réécrit la première valeurs de la classe, et c'est tout. Et dans le cas présent, ça sert à rien, c'est comme si on écrit a=a;
Mais à mon avis les valeurs suivantes de la classe ne seront jamais atteinte de cette façon là.
Le constructeur de copie est automatique avec mon compilateur. Je parie qu'il est fait à peu près comme cela :
Classe_Machin(Classe_Machin &source)
{
memcpy(this, source, sizeof(this));
}
Ca coute pas cher à faire automatiquement, mais, je ne suis pas sûr que je m'en sois servi une seule fois.
Si un constructeur de copie prend une référence, je ne pense pas que ça ait le moindre rapport avec la gestion économique de la mémoire.
Par ailleurs, je me demande qu'il n'y a pas une ambiguïté avec le caractère '*'.
-----