[LHC] Ainda sobre memória do Arduino, evitando o "new"

Paulo Costa me at paulo.costa.nom.br
Tue Feb 23 11:10:29 PST 2016


A grande vantagem de instanciar na pilha em C++ é que os objetos são
destruídos automaticamente, assim que a variável sai de escopo (Na ordem
contrária em que foram declaradas).

Além de liberar memória, isso pode ser usado para reservar/liberar recursos
automaticamente (Equivalente ao "with" em Python e try-with-resources em
Java -- Um exemplo: lock_guard
<http://www.cplusplus.com/reference/mutex/lock_guard/>)

int foo() {
  Objeto o1;
  if (true) {
    Objeto o2, o3;
    //Destroi o3
    //Destroi o2
  }
  //destroi o1
}

Em 23 de fevereiro de 2016 15:51, Alejandro Mesias <ale.mesias at gmail.com>
escreveu:

> Valeu paulo, isso mesmo. Encontrei em outro site um pouco depois.
>
> Tenho uma factory em um método estático da classe. Quando fiz pareceu
> lindo, deu várias dores de cabeça pra deixar redondo na época,  preciso
> limpar outras coisas no destrutor. Mania de OO e patterns.
>
> Falta agora descobrir se quando o compilador libera o objeto ele chama o
> destrutor ou se preciso fazer isso manualmente, capaz que manualmente.
>
> Em 23 de fevereiro de 2016 15:47, Paulo Costa <me at paulo.costa.nom.br>
> escreveu:
>
>> Fica parecido com isso:
>>
>> class Blarg{
>>> public:
>>>     Blarg(const char*, int);
>>> };
>>
>>
>>
>> Blarg instancia("meh", 56);   //Cria o objeto em variável global ou na
>>> pilha
>>
>>
>> _______________________________________________
>> Lista do LHC <http://lhc.net.br>
>> HSC at listas.tia.mat.br
>> http://listas.tia.mat.br/listinfo.cgi/hsc-tia.mat.br
>>
>>
>
>
> --
> ======================================
> Alejandro Mesias André Nebra Perez
> Java/Python/Js/Something else Developer
> Twitter: @meszias
> Linux User #442506
> Campinas - SP - Brasil - South America
> ======================================
>
> _______________________________________________
> Lista do LHC <http://lhc.net.br>
> HSC at listas.tia.mat.br
> http://listas.tia.mat.br/listinfo.cgi/hsc-tia.mat.br
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listas.tia.mat.br/pipermail/hsc-tia.mat.br/attachments/20160223/38c0225a/attachment.html>


More information about the HSC mailing list