Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Introducción a los Punteros Únicos | Punteros Únicos
C++ Smart Pointers
course content

Contenido del Curso

C++ Smart Pointers

C++ Smart Pointers

1. Introducción a los Punteros Inteligentes
2. Punteros Únicos
3. Punteros Compartidos
4. Punteros Débiles
5. Temas Avanzados

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

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>>();

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.

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>());

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.

question mark

¿Cuál es la principal ventaja de usar std::make_unique sobre new al crear un std::unique_ptr?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 1
Lamentamos que algo salió mal. ¿Qué pasó?
some-alt