Pertanyaan yang diberi tag «smart-pointers»

Tipe data abstrak yang menyimulasikan penunjuk sambil menyediakan fitur tambahan, seperti pengumpulan sampah otomatis atau pemeriksaan batas


2
Bagaimana cara mengembalikan smart pointers (shared_ptr), dengan referensi atau nilai?
Katakanlah saya memiliki kelas dengan metode yang mengembalikan a shared_ptr. Apa keuntungan dan kerugian yang mungkin didapat dari mengembalikannya berdasarkan referensi atau nilai? Dua petunjuk yang mungkin: Penghancuran objek awal. Jika saya mengembalikan shared_ptrreferensi by (const), penghitung referensi tidak bertambah, jadi saya menanggung risiko objek dihapus ketika keluar dari ruang …


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
Apakah ada padanan non-atomik dari std :: shared_ptr? Dan mengapa tidak ada di <memory>?
Ini sedikit dari dua pertanyaan bagian, semua tentang atomisitas std::shared_ptr: 1. Sejauh yang saya tahu, std::shared_ptradalah satu-satunya penunjuk cerdas dalam &lt;memory&gt;atom itu. Saya bertanya-tanya apakah ada versi non-atomik yang std::shared_ptrtersedia (saya tidak dapat melihat apa pun di dalamnya &lt;memory&gt;, jadi saya juga terbuka untuk saran di luar standar, seperti yang …

3
shared_ptr magic :)
Tuan Lidström dan saya bertengkar :) Klaim Tn. Lidström adalah bahwa sebuah konstruksi shared_ptr&lt;Base&gt; p(new Derived);tidak memerlukan Base untuk memiliki penghancur virtual: Armen Tsirunyan : "Benarkah? Akankah shared_ptr membersihkan dengan benar? Bisakah Anda dalam hal ini menunjukkan bagaimana efek tersebut dapat diterapkan?" Daniel Lidström : "The shared_ptr menggunakan destruktornya sendiri …

2
reset lemah_ptr mempengaruhi shared_ptr?
Saya tidak terlalu terbiasa menggunakan weak_ptrdan saya menghadapi situasi yang cukup membingungkan. Saya menggunakan Intel XE 2019 Composer pembaruan 5 ( paket 2019.5.281 ) dalam kombinasi dengan Visual Studio 2019 ver. 16.2.5 . Saya kompilasi dalam 64-bit. Saya menggunakan standar C ++ 17 . Berikut adalah kode untuk solusi spike …
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.