Pengendalian Vektor
Dalam C , vektor ialah bekas berkuasa untuk menyimpan koleksi objek. Walau bagaimanapun, percubaan untuk menyimpan tatasusunan terus dalam vektor boleh membawa kepada ralat, seperti yang dilihat apabila mengisytiharkan vektor tatasusunan terapung (vektor
Isu ini timbul kerana tatasusunan tidak disokong secara semulajadi sebagai elemen kontena. Bekas memerlukan elemen tersimpannya supaya boleh dibina salinan dan boleh diagihkan, tetapi tatasusunan tidak memenuhi keperluan ini.
Penyelesaian: Menggunakan Templat Kelas Tatasusunan
Untuk mengatasi had ini, adalah disyorkan untuk menggunakan templat kelas tatasusunan dan bukannya tatasusunan mentah. Pustaka C seperti Boost, TR1 dan C 0x menawarkan templat tatasusunan yang menyediakan kebolehbinaan salinan dan kebolehtugasan.
Sebagai contoh, menggunakan templat kelas tatasusunan yang disediakan oleh C 0x:
std::vector<std::array<double, 4>>
Sebagai alternatif , anda boleh menggunakan templat tatasusunan yang digabungkan dalam C TR1 atau Boost perpustakaan:
std::vector<std::tr1::array<double, 4>> // or std::vector<boost::array<double, 4>>
Kelas Tatasusunan Tersuai (Pilihan)
Anda juga boleh mencipta kelas tatasusunan anda sendiri yang melaksanakan pembinaan salinan dan tugasan jika mahu, memastikan keserasian dengan bekas penggunaan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyimpan Tatasusunan Dengan Betul Dalam Vektor C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!