Pertanyaan yang diberi tag «shared-ptr»

Referensi menghitung kelas penunjuk cerdas yang menerapkan kepemilikan bersama


4
Meneruskan shared_ptr <Derived> sebagai shared_ptr <Base>
Apa metode terbaik untuk meneruskan sebuah shared_ptrdari tipe turunan ke fungsi yang mengambil shared_ptrtipe dasar? Saya biasanya melewatkan shared_ptrreferensi untuk menghindari salinan yang tidak perlu: int foo(const shared_ptr&lt;bar&gt;&amp; ptr); tetapi ini tidak berhasil jika saya mencoba melakukan sesuatu seperti int foo(const shared_ptr&lt;Base&gt;&amp; ptr); ... shared_ptr&lt;Derived&gt; bar = make_shared&lt;Derived&gt;(); foo(bar); Saya …

5
Meneruskan petunjuk bersama sebagai argumen
Jika saya mendeklarasikan objek yang dibungkus dengan pointer bersama: std::shared_ptr&lt;myClass&gt; myClassObject(new myClass()); maka saya ingin menyampaikannya sebagai argumen untuk suatu metode: DoSomething(myClassObject); //the called method void DoSomething(std::shared_ptr&lt;myClass&gt; arg1) { arg1-&gt;someField = 4; } Apakah hal di atas hanya menambah jumlah referensi shared_pt dan semuanya keren? Atau apakah itu meninggalkan penunjuk …

3
Apakah deleter shared_ptr disimpan di memori dialokasikan oleh pengalokasi khusus?
Katakanlah saya punya shared_ptrdengan pengalokasi khusus dan deleter khusus. Saya tidak dapat menemukan apa pun dalam standar yang berbicara tentang di mana deleter harus disimpan: ia tidak mengatakan bahwa pengalokasi kustom akan digunakan untuk memori deleter, dan tidak mengatakan bahwa itu tidak akan terjadi. Apakah ini tidak ditentukan atau saya …
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.