Contenu du cours
Pointeurs Intelligents C++
Pointeurs Intelligents C++
Introduction aux Pointeurs Uniques
Pour créer un std::unique_ptr
, vous pouvez utiliser std::make_unique
. C'est une fonction qui fournit un moyen sûr et efficace de créer des pointeurs uniques.
C'est une excellente alternative à l'utilisation des opérateurs new/delete
et new[]/delete[]
, qui peuvent rendre le code plus susceptible à des problèmes liés à la mémoire.
make_unique
// Using `std::make_unique` to create a unique pointer to a vector of integers std::unique_ptr<std::vector<int>> p_unique_vector = std::make_unique<std::vector<int>>();
La fonction std::make_unqiue
alloue la ressource dynamique et retourne un pointeur unique qui la possède. Lorsque le pointeur unique sort de la portée, la ressource est automatiquement désallouée.
new_unique_ptr
// Insecure way to create a unique pointer for a vector of integers. std::unique_ptr<std::vector<int>> p_unique_vector(new std::vector<int>());
Le vecteur p_unique_vector
dans le code ci-dessus sera toujours automatiquement détruit lorsque le pointeur unique sort de la portée. Cependant, pour une sécurité maximale en cas d'exception et de meilleures pratiques de code, préférez toujours utiliser std::make_unique
.
Merci pour vos commentaires !