smart pointers

Lady’s and gentleman’s, depois de 100 episódios de anime e 4 filmes, eu posso dizer: “Sobrevivi ao carnaval!!”.

Depois de 2 dias de isolamento, posso dizer que terminei o carnaval. Bom, adoro uma semana de ferias, e adoro carnaval!! HoHoHo…

Bom, mas vamos falar sobre algo que queria dizer a muito tempo, smart pointers!!!

Why smart pointers, why? whyy. . .

Bom, antes de tudo, é preciso saber o que é um smart pointers. Os smart pointers, são, como o nome diz, ponteiros inteligentes!!! xD.

Deixando as “obvialidades” e brincadeiras de lados. Os smart pointers são um subconjunto do padrão de projeto proxy(Estou começando a me auto-citar. . . Legal…), ou seja, ele é uma especialização do padrão de projeto proxy. Porque uma especialização? Porque smart pointer em sua maioria são “proxy’s”, mas somente para ponteiros.

O que um smart pointer nos oferece?

Lembre-se. Quem programa em “c/c++” tem lembrança de como é um ponteiro. Difíceis de usar, muito baixo nível alguns dizem e sem muitas opções, só tem um funcionamento bem simples. Simplesmente, os smart pointers vem para resolver isso, adicionado funcionalidades, restringindo ou assumindo o controle sobre ponteiros.

Isso resolve todos os problemas com ponteiros. Todas as reclamações que você tem com ponteiros somem!! Basicamente, basta você fazer um proxy de um ponteiro, e deixar o seu ponteiro que você esta criando mais completo.

Um exemplo: Para usar um ponteiro, você precisa alocar memoria, não é? E, quando você não esta mais usando, precisar desalocar a memoria né? Então, meus amigos, vocês sempre fazem isso? Toda vez? Essa ação manual? Mas você não devia poder automatizar isso? Pode. Pode mesmo. Existe um smart pointer que faz isso pra você(mas precisamente, shared_ptr da boost e auto_ptr da biblioteca padrão, que dependendo do caso, resolve).

Da pra ver as “vantagens” de smart pointers, então é só usar :D. No próximo post vou falar sobre o auto_ptr da biblioteca padrão de “c++“, ai todas as duvidas sobre esse tema podem desaparecer. Então amiguinhos, esperem até o próximo post!!!

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: