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.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>>();
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.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>());
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!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Awesome!
Completion rate improved to 5.56
Introducción a los Punteros Únicos
Desliza para mostrar el menú
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.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>>();
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.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>());
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!