Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda A Necessidade de Ponteiros Inteligentes | Introdução a Ponteiros Inteligentes
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
A Necessidade de Ponteiros Inteligentes

O gerenciamento manual de memória requer desalocar explicitamente a memória, ou pode levar a vazamentos de memória, que são notoriamente difíceis de rastrear. Isso torna óbvia a necessidade de uma ferramenta que lide com alocação e desalocação adequada.

Introdução aos Smart Pointers

Smart pointers são objetos que automatizam o gerenciamento de memória, mesmo para memória dinâmica. Existem três tipos de smart pointers.

Smart pointers usam programação orientada a objetos para automatizar o gerenciamento de memória. Eles são essencialmente templates de classe, permitindo que lidem com diferentes tipos de dados enquanto utilizam construtores e destrutores para alocação e desalocação. Quando um smart pointer é criado, seu construtor é chamado e quando sai de escopo, o destrutor lida com a limpeza.

h

smart_pointer

copy
123456789101112
template <typename T> class SmartPointer { public: SmartPointer(T* pointer) : pointer(pointer) {} ~SmartPointer() { delete ptr; } T* Get() { return pointer; } private: T* pointer; };

Para usar smart pointers, você precisa incluir o arquivo de cabeçalho <memory>.

h

including_memory

copy
1
#include <memory>
question mark

Qual é o principal desafio associado à gestão manual de memória?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

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