Algoritma Pemilihan Penunjuk Pintar
Apabila memilih jenis penunjuk pintar yang sesuai, pertimbangkan kriteria berikut:
Unik Pemilikan:
-
Gunakan std::unique_ptr: Menyediakan pemilikan eksklusif dengan pemadam yang ditentukan. Boleh digunakan dalam bekas STL.
Pemilikan Dikongsi:
-
Gunakan std::shared_ptr dan std::weak_ptr: Membenarkan berbilang pemilik berkongsi sumber. Petunjuk lemah memerhati sumber tanpa menjejaskan hayatnya.
Tiada Pemilikan:
-
Gunakan petunjuk mentah atau rujukan: Untuk bukan -memiliki rujukan apabila sumber hidup lebih lama daripada objek rujukan. Gunakan penunjuk mentah untuk kebolehtetapan atau kebolehtetapan semula.
Pertimbangan Tambahan:
-
Boost::intrusive_ptr: Pilihan ringan untuk sumber dengan rujukan-dikira sedia ada pengurusan.
-
Boost::scoped_array and std::unique_ptr: Versi tatasusunan penunjuk berskop.
-
Ditamatkan: std::auto_ptr ditamatkan dalam C 11.
Cadangan:
Untuk kebanyakan kes, std::unique_ptr hendaklah menjadi pilihan lalai untuk pemilikan unik. std::shared_ptr dan std::weak_ptr sesuai untuk senario pemilikan dikongsi. Petunjuk dan rujukan mentah boleh digunakan untuk perhubungan bukan pemilikan.
Atas ialah kandungan terperinci Penuding Pintar Manakah yang Perlu Saya Gunakan dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!