KnowledgeCity

Sémantique de déplacement en C++

Ce module traite la sémantique des déplacements. Vous apprendrez à utiliser la sémantique de déplacement, quand l’utiliser et si vous devez ou non l’utiliser. Vous apprendrez également à utiliser la sémantique de déplacement pour rendre le code plus efficace.
Regardez la première leçon gratuitement — accédez aux 7 leçons complètes.

To view this video please enable JavaScript.

Cours : À la demande
Avancé  Fournisseur Mikhail Veygman  7 Leçons ·  33m  en Arabe, Allemand, Anglais, Espagnol, Français, Portugais, Chinois simplifié 

Ce que vous allez apprendre

  • Distinguer les valeurs (L values) des valeurs (R values) en C++
  • Utiliser std::move pour transférer des ressources entre les objets
  • Implémenter un constructeur de déplacement (move constructor) et un opérateur d'affectation de déplacement (move assignment operator)
  • Appliquer l'idiome copier-échanger (copy-and-swap idiom) pour une affectation sécurisée
  • Respecter la règle de 3/5/0 lors de la conception des classes

Points clés à retenir

  • Le cours introduit la sémantique de déplacement (move semantics) en C++ et explique en quoi elle consiste.
  • Il fait la distinction entre les L-values et les R-values, ce qui est nécessaire pour comprendre la sémantique de déplacement.
  • Il couvre l'utilisation de std::move, le constructeur de déplacement (move constructor) et l'opérateur d'affectation par déplacement (move assignment operator).
  • Il présente l'idiome copy-and-swap (copier-échanger) et la règle des 3/5/0.

Foire aux questions

Quels sujets couvre ce cours sur la Sémantique de Déplacement (Move Semantics) en C++ ?

Il explique ce qu'est la sémantique de déplacement (move semantics), comment comprendre les L-values et les R-values, l'utilisation de std::move, le constructeur de déplacement (move constructor), l'opérateur d'affectation par déplacement (move assignment operator), l'idiome copy-and-swap (copier-échanger), et la règle des 3/5/0.

À quelles compétences ce cours est-il lié ?

Il se rapporte au langage de programmation C++, aux fondamentaux du C++, aux concepts du C++, aux modules C++, au module de fonctions (Function Module) et aux modules logiciels (Software Modules).

Comment le cours est-il structuré ?

Le cours est organisé en leçons couvrant la sémantique de mouvement (move semantics), les L-values et les R-values, std::move, le constructeur de mouvement (move constructor), l'opérateur d'affectation par mouvement (move assignment operator), l'idiome copy-and-swap, et la Règle des 3/5/0.