Apa itu smart pointer dan kapan saya harus
Tipe data abstrak yang menyimulasikan penunjuk sambil menyediakan fitur tambahan, seperti pengumpulan sampah otomatis atau pemeriksaan batas
Apa itu smart pointer dan kapan saya harus
std::unique_ptr memiliki dukungan untuk array, misalnya: std::unique_ptr<int[]> p(new int[10]); tetapi apakah itu dibutuhkan? mungkin lebih nyaman digunakan std::vectoratau std::array. Apakah Anda menemukan kegunaan untuk konstruksi
Ok, jadi terakhir kali saya menulis C ++ untuk mencari nafkah, std::auto_ptradalah semua std lib telah tersedia, dan boost::shared_ptrsemua adalah kemarahan. Saya tidak pernah benar-benar melihat ke dalam tipe penunjuk pintar lainnya yang disediakan. Saya mengerti bahwa C ++ 11 sekarang menyediakan...
Apa perbedaan antara set pointer berikut? Kapan Anda menggunakan setiap pointer dalam kode produksi, jika sama sekali? Contohnya akan dihargai! scoped_ptr shared_ptr weak_ptr intrusive_ptr Apakah Anda menggunakan peningkatan dalam kode
Apa yang salah dengan program ini? #include <memory> #include <vector> int main() { std::vector<std::unique_ptr<int>> vec; int x(1); std::unique_ptr<int> ptr2x(&x); vec.push_back(ptr2x); //This tiny command has a vicious error. return 0; } Kesalahan: In...
Dalam praktiknya dengan C ++, apa itu RAII , apa itu smart pointer , bagaimana penerapannya dalam sebuah program dan apa manfaat menggunakan RAII dengan smart
Dengan standar baru datang (dan bagian sudah tersedia di beberapa kompiler), tipe baru std::unique_ptrseharusnya menjadi pengganti std::auto_ptr. Apakah penggunaannya benar-benar tumpang tindih (sehingga saya dapat melakukan global menemukan / mengganti kode saya (bukan bahwa saya akan melakukan...
Saya mengalami kesulitan memahami penggunaan pointer cerdas sebagai anggota kelas di C ++ 11. Saya telah membaca banyak tentang pointer cerdas dan saya pikir saya mengerti bagaimana unique_ptrdan shared_ptr/ weak_ptrsecara umum bekerja. Yang tidak saya mengerti adalah penggunaan sebenarnya....
Saya membaca di beberapa artikel bahwa pointer mentah hampir tidak boleh digunakan. Alih-alih, mereka harus selalu dibungkus dengan pointer pintar, apakah itu scoped atau shared pointer. Namun, saya perhatikan bahwa kerangka kerja seperti Qt, wxWidgets dan perpustakaan seperti Boost tidak pernah...
Saya telah mencari melalui kode sumber Dentang dan saya menemukan potongan ini: void CompilerInstance::setInvocation( std::shared_ptr<CompilerInvocation> Value) { Invocation = std::move(Value); } Mengapa saya ingin std::movesebuah std::shared_ptr? Apakah ada titik mentransfer...
Apakah std::make_uniqueada manfaat efisiensi seperti std::make_shared? Dibandingkan dengan membangun secara manual std::unique_ptr: std::make_unique<int>(1); // vs std::unique_ptr<int>(new
Perbandingan, Pro, Kontra, dan Kapan Menggunakan? Ini adalah spin-off dari utas pengumpulan sampah di mana apa yang saya anggap sebagai jawaban sederhana menghasilkan banyak komentar tentang beberapa implementasi penunjuk cerdas tertentu sehingga sepertinya layak untuk memulai posting baru. Pada...
Sulit untuk mengatakan apa yang ditanyakan di sini. Pertanyaan ini ambigu, kabur, tidak lengkap, terlalu luas, atau retoris dan tidak dapat dijawab secara wajar dalam bentuknya saat ini. Untuk bantuan dalam mengklarifikasi pertanyaan ini sehingga dapat dibuka kembali, kunjungi
Saya sangat frustrasi sekarang setelah beberapa jam mencoba menemukan di mana shared_ptr berada. Tak satu pun dari contoh yang saya lihat menunjukkan kode lengkap untuk menyertakan header shared_ptr(dan berfungsi). Cukup menyatakan std, tr1dan <memory>tidak membantu sama sekali! Saya telah...
Berapa biaya overhead dari pointer pintar dibandingkan dengan pointer normal di C ++ 11? Dengan kata lain, apakah kode saya akan menjadi lebih lambat jika saya menggunakan petunjuk cerdas, dan jika demikian, seberapa lambat? Secara khusus, saya bertanya tentang C ++ 11 std::shared_ptrdan...
Pertanyaannya benar-benar cocok dengan judulnya: Saya penasaran ingin tahu apa alasan teknis dari perbedaan ini, tapi juga alasannya? std::shared_ptr<void> sharedToVoid; // legal; std::unique_ptr<void> uniqueToVoid; // ill-formed;
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),...
Saya dengar auto_ptrsudah tidak digunakan lagi di C ++ 11. Apa alasannya ini? Saya juga ingin mengetahui perbedaan antara auto_ptrdan shared_ptr.
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<bar>& ptr); tetapi ini tidak berhasil jika saya...
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 <memory>atom itu. Saya bertanya-tanya apakah ada versi non-atomik yang std::shared_ptrtersedia (saya tidak dapat melihat...