Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Introdução aos Ponteiros Únicos | Ponteiros Únicos
C++ Smart Pointers
course content

Conteúdo do Curso

C++ Smart Pointers

C++ Smart Pointers

1. Introdução a Ponteiros Inteligentes
2. Ponteiros Únicos
3. Ponteiros Compartilhados
4. Ponteiros Fracos
5. Tópicos Avançados

book
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.

h

make_unique

copy
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.

h

new_unique_ptr

copy
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.

question mark

Qual é a principal vantagem de usar std::make_unique em vez de new ao criar um std::unique_ptr?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 1
Sentimos muito que algo saiu errado. O que aconteceu?
some-alt