Senarai Pemula dan Bahagian Kanan Operator
Senarai pemula ialah cara mudah untuk memulakan pembolehubah dan objek, tetapi penggunaannya adalah terhad di sebelah kanan pengendali. Ini boleh membingungkan, kerana nampaknya logik untuk membenarkan senarai pemula dalam konteks sedemikian.
Sebab Sekatan
Menurut piawaian C, senarai pemula tidak dipertimbangkan ungkapan. Oleh kerana hujah kepada pengendali biasanya memerlukan ungkapan, senarai pemula tulen adalah dilarang.
Pengecualian
Terdapat beberapa pengecualian yang membenarkan senarai pemula digunakan:
Rasional
Jawatankuasa standard C 11 memutuskan untuk tidak membenarkan senarai pemula pada sebelah kiri operator untuk memudahkan pelaksanaan parser. Membenarkan mereka di sebelah kanan akan menjadi terlalu tidak konsisten tanpa membenarkan mereka di sebelah kiri.
Alternatif
Nasib baik, terdapat alternatif untuk menggunakan senarai pemula di sebelah kanan pengendali. Satu pilihan ialah membungkus senarai pemula dalam kurungan, yang mengubahnya menjadi ungkapan rujukan nilai:
baz << (std::initializer_list<int>{1, -2, "foo", 4, 5});
Pilihan lain ialah mencipta pembolehubah sementara jenis yang sesuai dan memulakannya dengan senarai pemula:
auto data = bar{1, -2, "foo", 4, 5}; baz << data;
Walaupun alternatif ini mungkin tidak semudah menggunakan senarai pemula secara langsung, ia menyediakan penyelesaian untuk sekatan pada sebelah kanan pengendali.
Atas ialah kandungan terperinci Mengapa Senarai Pemula Tidak Boleh Digunakan Terus di Sebelah Kanan Operator C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!