Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Anda Boleh Menyimpan Objek Pelbagai Jenis dalam Bekas C Tunggal?
Cara Menyimpan Objek Pelbagai Jenis dalam Bekas C
Menyimpan objek pelbagai jenis dalam bekas C tunggal boleh memberikan cabaran, sebagai bekas standard seperti peta, vektor dan senarai mengehadkan ahli kepada jenis tunggal.
Satu penyelesaian ialah menggunakan Boost.Any, pembalut selamat jenis yang boleh mengandungi sebarang jenis tika. Dengan menyimpan contoh Boost.Any dalam bekas, anda boleh memuatkan objek daripada jenis yang berbeza. Pendekatan ini lebih disukai kerana keteguhannya dan pertimbangan kes tepi.
Sebagai alternatif, anda boleh membuat struktur tersuai atau kesatuan yang mengandungi ahli semua jenis yang berpotensi, bersama-sama dengan penunjuk yang menyatakan jenis aktif. Walau bagaimanapun, kesatuan memerlukan berhati-hati kerana kemungkinan tingkah laku tidak ditentukan jika ahli yang salah dibaca dan mereka mengehadkan ahli aktif kepada satu demi satu.
Perlu diingat bahawa bekas standard C sudah generik, tetapi ahlinya mesti secara eksklusif daripada jenis yang sama. Keperluan untuk menyimpan objek jenis campuran merupakan masalah yang menarik dan penting untuk mempertimbangkan dengan teliti kesesuaiannya dalam konteks anda.
Atas ialah kandungan terperinci Bagaimanakah Anda Boleh Menyimpan Objek Pelbagai Jenis dalam Bekas C Tunggal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!