Contenido del Curso
C++ Smart Pointers
C++ Smart Pointers
Introducción a los Punteros Únicos
Para crear un std::unique_ptr
puedes usar std::make_unique
. Es una función que proporciona una forma segura y eficiente de crear punteros únicos.
Es una gran alternativa al uso de los operadores new/delete
y new[]/delete[]
, que pueden hacer que el código sea más susceptible a problemas relacionados con la memoria.
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>>();
El std::make_unqiue
asigna el recurso dinámico y devuelve un puntero único que lo posee. Cuando el puntero único sale del ámbito, el recurso se desaloca automáticamente.
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>());
El vector p_unique_vector
en el código anterior aún se destruirá automáticamente cuando el puntero único salga del ámbito. Sin embargo, para una máxima seguridad ante excepciones y mejores prácticas de código, siempre prefiera usar std::make_unique
.
¡Gracias por tus comentarios!