Menyesuaikan Jenis untuk Julat Berasaskan Untuk Gelung
Untuk membuat jenis tersuai berfungsi dengan berasaskan julat untuk gelung, anda boleh menentukan begin( ) dan end() kaedah untuk jenis anda. Kaedah ini harus mengembalikan iterator yang membolehkan gelung berulang ke atas elemen jenis anda.
Pertimbangan Ruang Nama
Jika jenis tersuai anda tergolong dalam ruang nama, anda harus menentukan begin() dan end() dalam ruang nama itu. Sebagai contoh, jika jenis anda ialah xml::my_type, anda harus mentakrifkan xml::begin() dan xml::end() untuk menjadikannya boleh diakses kepada gelung berasaskan julat.
Keperluan untuk begin() dan end()
Kaedah begin() dan end() yang anda tentukan mesti memenuhi perkara berikut keperluan:
Mereka mesti menyediakan pengendali dan fungsi yang diperlukan agar gelung berasaskan julat berfungsi dengan baik, termasuk yang berikut:
Dua Pilihan untuk Melaksanakan bermula() dan tamat ()
Terdapat dua pendekatan utama untuk melaksanakan begin() dan end() untuk jenis tersuai anda:
Contoh:
Pertimbangkan contoh berikut:
struct my_type { int data[5]; // Define begin() and end() as member functions int* begin() { return &data[0]; } int* end() { return &data[5]; } };
Dengan mentakrifkan fungsi ahli ini, contoh my_type kini boleh diulang lebih menggunakan berasaskan julat untuk gelung:
my_type mt; for (int& value : mt) { // Do something with each value in mt }
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Jadikan Jenis Tersuai Saya Berfungsi dengan Julat C Untuk Gelung?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!