Opérations sur les objets déplacés
Malgré l'idée fausse courante selon laquelle les objets déplacés ne peuvent être détruits que, la norme C précise que les objets déplacés -from les objets des types de bibliothèques standard sont placés dans un état non spécifié, permettant une portée limitée des opérations. Cet état apparaît après le déplacement d'un objet, permettant des opérations qui n'ont généralement pas de conditions préalables.
Opérations inconditionnelles
Les opérations suivantes peuvent généralement être appliquées aux objets déplacés. objets sans rencontrer de conditions préalables :
Conditionnel Opérations
En revanche, les opérations suivantes peuvent nécessiter que l'objet ne soit pas dans un état non spécifié et ne sont donc généralement pas autorisées sur les objets déplacés :
Concernant std::swap
Dans Dans l'exemple de modèle de fonction d'échange, les opérations d'affectation (lignes 2 et 3) sont valides même si elles impliquent des objets déplacés, car l'affectation ne le fait généralement pas. avoir des conditions préalables.
Enfin
La norme détaillant les objets à état non spécifié pour les types de bibliothèques standard se trouve à 17.6.5.15 [lib.types.movedfrom].
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!