Perguntas com a marcação «smart-pointers»

Um tipo de dado abstrato que simula um ponteiro enquanto fornece recursos adicionais, como coleta de lixo automática ou verificação de limites


4
Passando shared_ptr <Derived> como shared_ptr <Base>
Qual é o melhor método para passar a shared_ptrde um tipo derivado para uma função que recebe a shared_ptrde um tipo base? Eu geralmente passo shared_ptrs por referência para evitar uma cópia desnecessária: int foo(const shared_ptr&lt;bar&gt;&amp; ptr); mas isso não funciona se eu tentar fazer algo como int foo(const shared_ptr&lt;Base&gt;&amp; …



3
shared_ptr magic :)
O Sr. Lidström e eu tivemos uma discussão :) A alegação do Sr. Lidström é que uma construção shared_ptr&lt;Base&gt; p(new Derived);não exige que a Base tenha um destruidor virtual: Armen Tsirunyan : "Sério? O shared_ptr será limpo corretamente? Você poderia, neste caso, demonstrar como esse efeito poderia ser implementado?" Daniel …


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.