Senarai Pemuatan Terlebih Operator dan Pemula pada RHS
Dalam pengaturcaraan C, senarai pemula ialah sintaks ringkas untuk memulakan objek agregat dengan senarai ungkapan . Walaupun senarai pemula boleh digunakan dengan mudah dalam pelbagai senario, penggunaannya di sebelah kanan (RHS) pengendali telah menjadi titik perbincangan.
Mengapa Senarai Pemula Dibataskan pada RHS
C 11 tidak membenarkan senarai pemula pada RHS pengendali, termasuk pengendali binari << digunakan dalam kod anda. Terdapat beberapa sebab untuk sekatan ini:
Pengecualian untuk Senarai Pemula
Walaupun terdapat sekatan umum pada menggunakan senarai pemula dalam hujah operator, C mentakrifkan pengecualian khusus di mana senarai pemula diterima:
Dalam kod anda, anda boleh menggunakan senarai pemula sebagai hujah kepada pembina bar, yang dipanggil dalam << pengendali:
foo baz; baz << bar{1, -2, "foo", 4, 5}; // Legal
Sebab Sekatan
Keputusan untuk menyekat senarai pemula pada RHS pengendali berpunca daripada keinginan untuk mengekalkan tatabahasa yang konsisten dan jelas. Membenarkan senarai pemula dalam semua konteks akan memperkenalkan kerumitan tambahan dan potensi kekaburan dalam bahasa.
Seperti yang dinyatakan dalam kertas perbincangan yang disebut dalam soalan anda, alternatif untuk membenarkan senarai pemula pada RHS tetapi bukan LHS telah dipertimbangkan terlalu bermasalah. Oleh itu, pendekatan konservatif untuk membenarkan senarai pemula hanya dalam konteks tertentu telah dipilih.
Atas ialah kandungan terperinci Mengapa Saya Tidak Boleh Menggunakan Senarai Pemula di Sebelah Kanan Operator C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!