Conteúdo do Curso
C++ Smart Pointers
C++ Smart Pointers
Introdução aos Ponteiros Únicos
Para criar um std::unique_ptr
, você pode usar o std::make_unique
. É uma função que fornece uma maneira segura e eficiente de criar ponteiros únicos.
É uma ótima alternativa ao uso dos operadores new/delete
e new[]/delete[]
, que podem tornar o código mais suscetível a problemas relacionados à memória.
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>>();
O std::make_unqiue
aloca o recurso dinâmico e retorna um ponteiro único que o possui. Quando o ponteiro único sai do escopo, o recurso é automaticamente desalocado.
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>());
O vetor p_unique_vector
no código acima ainda será automaticamente destruído quando o ponteiro único sair do escopo. No entanto, para máxima segurança contra exceções e melhores práticas de código, sempre prefira usar std::make_unique
.
Obrigado pelo seu feedback!