Maison >développement back-end >C++ >Quand le compilateur C 11 génère-t-il automatiquement des opérations de déplacement ?
Règles de génération automatique des opérations de déplacement
En C 11, la capacité du compilateur à générer automatiquement des opérations de déplacement diffère des règles pour les opérations de copie en C 98.
Déplacer le constructeur et déplacer l'affectation Opérateur
Dans les conditions suivantes, le compilateur générera automatiquement un constructeur de déplacement et un opérateur d'affectation de déplacement :
Cas où les opérations de déplacement ne sont pas automatiquement générées
Le compilateur ne générera pas automatiquement les opérations de déplacement si l'une des conditions suivantes est remplie :
Outil de vérification des règles de génération automatique
La ressource suivante fournit une représentation visuelle des règles de génération automatique de membres spéciaux, y compris les opérations de déplacement :
[Image de Howard Diapositive de présentation de l'ACCU 2014 de Hinnant](https://i.sstatic.net/b2VBV.png)
Clarification supplémentaire
Les carrés rouges dans le tableau indiquent un comportement obsolète . Si vous souhaitez éviter de recourir à la dépréciation, envisagez de suivre la « règle de 3 » de C 98/03 : déclarez les deux membres de copie si vous déclarez le destructeur, ou déclarez au moins un membre de copie.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!