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.h
12// 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.h
12// 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!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 5.56
Introdução aos Ponteiros Únicos
Deslize para mostrar o menu
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.h
12// 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.h
12// 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!