Rumah >pembangunan bahagian belakang >C++ >Bolehkah C For Loops Mengendalikan Pembolehubah Pelbagai Jenis dalam Permulaannya?
Pengisytiharan Berbilang Pembolehubah dalam For Gelung: Melangkaui Jenis Homogen
Dalam dunia pengaturcaraan C, untuk gelung sering memudahkan tugas lelaran yang mudah dan cekap . Walaupun mengisytiharkan pembolehubah gelung daripada jenis yang sama adalah kebiasaan, artikel ini menyiasat kemungkinan mengisytiharkan pembolehubah jenis yang berbeza dalam badan pemula a for gelung.
Bolehkah Jenis Berbeza Wujud Bersama dalam Permulaan Gelung?
Jawapan kepada soalan bertajuk secara amnya tidak. C menentukan bahawa semua pembolehubah yang diisytiharkan dalam ungkapan permulaan gelung for mesti berkongsi jenis yang sama. Oleh itu, permulaan berikut akan mengakibatkan ralat kompilasi:
for (int i = 0, char j = 0; ...)
Penyelesaian Teknikal
Walau bagaimanapun, penyelesaian yang bijak wujud, walaupun agak tidak konvensional:
for (struct {int a; char b;} s = {0, 'a'}; s.a < 5; ++s.a) { std::cout << s.a << " " << s.b << std::endl; }
Dalam coretan kod ini, satu struct yang mengandungi kedua-dua int dan char dicipta di dalam ungkapan permulaan. Langkah kenaikan selanjutnya memanipulasi komponen int, membolehkan kesinambungan gelung.
Kesimpulan
Walaupun secara teknikalnya mungkin, mengisytiharkan pembolehubah jenis yang berbeza dalam permulaan gelung for adalah perkara yang jarang berlaku. berlatih dan harus digunakan dengan berhati-hati. Untuk kebanyakan senario, mematuhi peraturan mengisytiharkan jenis homogen dalam untuk gelung memastikan kebolehbacaan dan kebolehselenggaraan kod.
Atas ialah kandungan terperinci Bolehkah C For Loops Mengendalikan Pembolehubah Pelbagai Jenis dalam Permulaannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!