<div dir="ltr">Minha dúvida é se ele vai chamar o destrutor, não apenas se vai destruir :D<br>Que preciso que execute o destrutor, claro que é rápido testar isso.<br><div><br></div><div>Se vai executar o: o1.~Objeto() ou o <span style="color:rgb(0,0,0);font-family:monospace,monospace;font-size:12.8px">instancia.~Blarg();</span><br><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">Em 23 de fevereiro de 2016 16:10, Paulo Costa <span dir="ltr"><<a href="mailto:me@paulo.costa.nom.br" target="_blank">me@paulo.costa.nom.br</a>></span> escreveu:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">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).<div><br></div><div>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: <a href="http://www.cplusplus.com/reference/mutex/lock_guard/" target="_blank">lock_guard</a>)</div><div><div><div><br></div><div><font face="monospace, monospace">int foo() {</font></div><div><font face="monospace, monospace"> Objeto o1;</font></div><div><font face="monospace, monospace"> if (true) {</font></div><div><font face="monospace, monospace"> Objeto o2, o3;</font></div><div><font face="monospace, monospace"> //Destroi o3<br></font></div><div><font face="monospace, monospace"> //Destroi o2</font></div><div><font face="monospace, monospace"> }</font></div><div><font face="monospace, monospace"> //destroi o1</font></div><div><font face="monospace, monospace">}</font></div></div></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">Em 23 de fevereiro de 2016 15:51, Alejandro Mesias <span dir="ltr"><<a href="mailto:ale.mesias@gmail.com" target="_blank">ale.mesias@gmail.com</a>></span> escreveu:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Valeu paulo, isso mesmo. Encontrei em outro site um pouco depois.<div><br></div><div>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.</div><div><br></div><div>Falta agora descobrir se quando o compilador libera o objeto ele chama o destrutor ou se preciso fazer isso manualmente, capaz que manualmente.</div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div>Em 23 de fevereiro de 2016 15:47, Paulo Costa <span dir="ltr"><<a href="mailto:me@paulo.costa.nom.br" target="_blank">me@paulo.costa.nom.br</a>></span> escreveu:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div dir="ltr"><pre><font color="#000000" face="arial, helvetica, sans-serif">Fica parecido com isso:</font></pre><blockquote style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex" class="gmail_quote"><font face="monospace, monospace"><font color="#000000">class Blarg{<br></font><font color="#000000">public:<br></font><font color="#000000"> Blarg(const char*, int);<br> </font><font color="#000000">};</font></font> </blockquote><blockquote style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex" class="gmail_quote"> </blockquote><blockquote style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex" class="gmail_quote"><font face="monospace, monospace"><font color="#000000"></font><font color="#000000">
</font><font color="#000000">Blarg instancia("meh", 56); //Cria o objeto em variável global ou na pilha</font></font></blockquote></div>
<br></div></div>_______________________________________________<br>
Lista do LHC <<a href="http://lhc.net.br" rel="noreferrer" target="_blank">http://lhc.net.br</a>><br>
<a href="mailto:HSC@listas.tia.mat.br" target="_blank">HSC@listas.tia.mat.br</a><br>
<a href="http://listas.tia.mat.br/listinfo.cgi/hsc-tia.mat.br" rel="noreferrer" target="_blank">http://listas.tia.mat.br/listinfo.cgi/hsc-tia.mat.br</a><br>
<br></blockquote></div><span><br><br clear="all"><div><br></div>-- <br><div>======================================<br>Alejandro Mesias André Nebra Perez<br>Java/Python/Js/Something else Developer<br>Twitter: @meszias<br>Linux User #442506<br>Campinas - SP - Brasil - South America<br>======================================</div>
</span></div>
<br>_______________________________________________<br>
Lista do LHC <<a href="http://lhc.net.br" rel="noreferrer" target="_blank">http://lhc.net.br</a>><br>
<a href="mailto:HSC@listas.tia.mat.br" target="_blank">HSC@listas.tia.mat.br</a><br>
<a href="http://listas.tia.mat.br/listinfo.cgi/hsc-tia.mat.br" rel="noreferrer" target="_blank">http://listas.tia.mat.br/listinfo.cgi/hsc-tia.mat.br</a><br>
<br></blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
Lista do LHC <<a href="http://lhc.net.br" rel="noreferrer" target="_blank">http://lhc.net.br</a>><br>
<a href="mailto:HSC@listas.tia.mat.br">HSC@listas.tia.mat.br</a><br>
<a href="http://listas.tia.mat.br/listinfo.cgi/hsc-tia.mat.br" rel="noreferrer" target="_blank">http://listas.tia.mat.br/listinfo.cgi/hsc-tia.mat.br</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">======================================<br>Alejandro Mesias André Nebra Perez<br>Java/Python/Js/Something else Developer<br>Twitter: @meszias<br>Linux User #442506<br>Campinas - SP - Brasil - South America<br>======================================</div>
</div>