Pertanyaan yang diberi tag «smart-pointer»

11
Mengapa Pengumpulan Sampah jika ada pointer pintar
Saat ini, banyak sekali bahasa yang dikumpulkan dari sampah. Bahkan tersedia untuk C ++ oleh pihak ketiga. Tetapi C ++ memiliki RAII dan pointer pintar. Jadi apa gunanya menggunakan pengumpulan sampah? Apakah itu melakukan sesuatu yang ekstra? Dan dalam bahasa lain seperti C #, jika semua referensi diperlakukan sebagai smart …

9
std :: shared_ptr sebagai upaya terakhir?
Saya hanya menonton stream "Going Native 2012" dan saya memperhatikan diskusi tentang std::shared_ptr. Saya agak terkejut mendengar pandangan Bjarne yang agak negatif std::shared_ptrdan komentarnya bahwa itu harus digunakan sebagai "upaya terakhir" ketika waktu hidup suatu objek tidak pasti (yang saya percaya, menurutnya, jarang terjadi). Adakah yang mau menjelaskan ini sedikit …

1
raw, kelemahan_ptr, unique_ptr, shared_ptr dll ... Bagaimana memilihnya dengan bijak?
Ada banyak petunjuk dalam C ++ tetapi jujur ​​dalam 5 tahun atau lebih dalam pemrograman C ++ (khusus dengan Qt Framework) Saya hanya menggunakan raw pointer lama: SomeKindOfObject *someKindOfObject = new SomeKindOfObject(); Saya tahu ada banyak petunjuk "pintar" lainnya: // shared pointer: shared_ptr<SomeKindofObject> Object; // unique pointer: unique_ptr<SomeKindofObject> Object; // …

5
Mengapa Java / C # tidak bisa mengimplementasikan RAII?
Pertanyaan: Mengapa Java / C # tidak bisa mengimplementasikan RAII? Klarifikasi: Saya tahu pengumpul sampah tidak deterministik. Jadi dengan fitur bahasa saat ini, metode Buang () objek tidak mungkin dipanggil secara otomatis pada scope exit. Tetapi dapatkah fitur deterministik seperti itu ditambahkan? Pemahaman saya: Saya merasa implementasi RAII harus memenuhi …

5
C ++: Haruskah kelas memiliki atau mengamati dependensinya?
Katakanlah saya memiliki kelas Foobaryang menggunakan (tergantung pada) kelas Widget. Pada hari-hari baik, Widgetwolud dinyatakan sebagai bidang Foobar, atau mungkin sebagai penunjuk pintar jika perilaku polimorfik diperlukan, dan itu akan diinisialisasi dalam konstruktor: class Foobar { Widget widget; public: Foobar() : widget(blah blah blah) {} // or std::unique_ptr<Widget> widget; public: …

3
Akankah merusak daftar besar meluap tumpukan saya?
Pertimbangkan penerapan daftar tertaut tunggal berikut: struct node { std::unique_ptr<node> next; ComplicatedDestructorClass data; } Sekarang, misalkan saya berhenti menggunakan beberapa std::unique_ptr<node> headcontoh yang kemudian keluar dari ruang lingkup, menyebabkan destruktornya dipanggil. Apakah ini akan menghancurkan tumpukan saya untuk daftar yang cukup besar? Apakah adil untuk menganggap bahwa kompiler akan melakukan …

1
Port pengembangan kunci / Value store ke C ++ modern
Saya mengembangkan server database yang mirip dengan Cassandra. Pengembangan dimulai pada C, tetapi berbagai hal menjadi sangat rumit tanpa kelas. Saat ini saya porting semuanya dalam C ++ 11, tapi saya masih belajar "modern" C ++ dan ragu tentang banyak hal. Database akan bekerja dengan pasangan Key / Value. Setiap …

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.