«shared-ptr» etiketlenmiş sorular

Başvuru, paylaşılan sahipliği uygulayan akıllı işaretçi sınıfını saydı


4
Shared_ptr <Derived> shared_ptr <Base> olarak iletiliyor
shared_ptrTüretilmiş türden a'yı shared_ptrtemel türden alan bir işleve geçirmenin en iyi yöntemi nedir ? shared_ptrGereksiz bir kopyadan kaçınmak için genellikle s'yi referans olarak geçiririm: int foo(const shared_ptr&lt;bar&gt;&amp; ptr); ama böyle bir şey yapmaya çalışırsam bu işe yaramaz int foo(const shared_ptr&lt;Base&gt;&amp; ptr); ... shared_ptr&lt;Derived&gt; bar = make_shared&lt;Derived&gt;(); foo(bar); kullanabilirim foo(dynamic_pointer_cast&lt;Base, Derived&gt;(bar)); …

5
Paylaşılan işaretçileri bağımsız değişken olarak aktarma
Paylaşılan bir işaretçiye sarılmış bir nesne bildirirsem: std::shared_ptr&lt;myClass&gt; myClassObject(new myClass()); sonra bunu bir yönteme argüman olarak aktarmak istedim: DoSomething(myClassObject); //the called method void DoSomething(std::shared_ptr&lt;myClass&gt; arg1) { arg1-&gt;someField = 4; } Yukarıdakiler, paylaşılan_pt'nin referans sayısını artırıyor ve her şey yolunda mı? Yoksa sallanan bir işaretçi mi bırakıyor? Hala bunu yapmanız gerekiyor …

7
Shared_ptr kullanma örneği?
Merhaba bugün aynı vektör dizisine farklı türden nesneler nasıl eklenir hakkında bir soru sordum ve bu sorudaki kodum gate* G[1000]; G[0] = new ANDgate() ; G[1] = new ORgate; //gate is a class inherited by ANDgate and ORgate classes class gate { ..... ...... virtual void Run() { //A virtual …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.