ExpertiDict

C++ · Intermediário · Inglês · Técnico

std make unique

ˌɛs.tiː.ˈdiː meɪk juːˈniːksubstantivo

Função que cria um objeto no heap e já o entrega embrulhado em um unique_ptr, passando os argumentos ao construtor. É a forma recomendada de criar unique pointers.

Onde usar

Evita escrever new à mão e deixa a posse clara desde a criação. Em code review, new solto em código moderno é sinal de troca por make_unique.

Em código

auto s = std::make_unique<std::string>("oi");
s->push_back('!');
auto a = std::make_unique<int[]>(3);  // zeros
// liberados ao sair do escopo

Exemplos

Replace the raw new with std make unique.

Troque o new cru por std make unique.

Make unique forwards the arguments to the constructor.

O make unique repassa os argumentos ao construtor.

Cuidado

Não aceita deletor customizado; nesse caso o unique_ptr é construído diretamente.

Sinônimos

fábrica de unique pointer

Veja também

Todos os termos de C++