Perguntas com a marcação «shared-ptr»

Classe de ponteiro inteligente contado de referência que implementa propriedade compartilhada


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; …

5
Passando ponteiros compartilhados como argumentos
Se eu declarar um objeto envolvido em um ponteiro compartilhado: std::shared_ptr&lt;myClass&gt; myClassObject(new myClass()); então eu queria passá-lo como um argumento para um método: DoSomething(myClassObject); //the called method void DoSomething(std::shared_ptr&lt;myClass&gt; arg1) { arg1-&gt;someField = 4; } O acima simplesmente incrementa a contagem de referência do shared_pt e está tudo bem? Ou …


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.