Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Melaksanakan Corak Reka Bentuk Singleton dalam C?
Singleton dalam C
Dalam C , terdapat beberapa cara untuk melaksanakan corak reka bentuk Singleton, teknik yang memastikan kelas hanya mempunyai contoh tunggal. Berikut ialah dua pendekatan biasa untuk mencipta kelas Singleton:
Singleton Klasik dengan Pulangan Penunjuk
Dalam kaedah ini, kelas Singleton mengembalikan penunjuk kepada contohnya:
<code class="cpp">class A { private: static A* m_pA; A(); virtual ~A(); public: static A* GetInstance(); static void FreeInstance(); void WORK1(); void WORK2(); void WORK3(); };</code>
Walau bagaimanapun, pendekatan ini mempunyai potensi isu jika kaedah FreeInstance() dipanggil semasa objek masih mempunyai rujukan. Untuk menangani perkara ini, elakkan membebaskan objek Singleton secara manual.
Singleton dengan Reference Return
Memulangkan Singleton sebagai rujukan ialah pendekatan lain yang menawarkan keselamatan yang lebih baik:
<code class="cpp">class A { private: static A* m_pA; explicit A(); void A(const A& a); void A(A &a); const A& operator=(const A& a); virtual ~A(); public: static A* GetInstance(); static void FreeInstance(); void WORK1(); void WORK2(); void WORK3(); };</code>
Pelaksanaan ini memastikan bahawa anda tidak boleh memusnahkan objek Singleton secara tidak sengaja.
Pertimbangan Tambahan
Untuk bacaan lanjut dan amalan terbaik tentang reka bentuk Singleton, rujuk sumber yang dicadangkan:
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Corak Reka Bentuk Singleton dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!