Rumah > pembangunan bahagian belakang > C++ > Mengapa Senarai Pemula Dihadkan dalam Argumen Operator Binari C?

Mengapa Senarai Pemula Dihadkan dalam Argumen Operator Binari C?

Mary-Kate Olsen
Lepaskan: 2024-12-12 16:12:14
asal
578 orang telah melayarinya

Why Are Initializer Lists Restricted in C   Binary Operator Arguments?

Senarai Pemula dalam Argumen Operator

Penggunaan senarai pemula di sebelah kanan (RHS) pengendali, ciri yang tiada dalam C 11, menimbulkan persoalan tentang alasan di sebalik sekatan ini.

Piawaian C melarang langsung penggunaan senarai pemula pada RHS pengendali binari seperti ' ', '*' atau '<<'. Ini berpunca daripada fakta bahawa senarai pemula tidak dianggap sebagai ungkapan mengikut §5 Standard, yang melarang penggunaannya dalam fungsi dan hujah operator binari.

Untuk memudahkan penggunaan senarai pemula, piawaian memperkenalkan pengecualian. Walau bagaimanapun, tiada pengecualian sedemikian untuk pengendali binari, menjadikan senarai pemula dihadkan pada kedua-dua belah pihak.

Keputusan di sebalik sekatan ini dijelaskan dalam N2215 oleh Stroustrup dan Dos Reis (2007). Membenarkan senarai pemula sebagai operan sebelah kiri akan membawa kepada konflik penghuraian disebabkan penggunaan pendakap kerinting untuk kedua-dua senarai pemula dan blok.

Selain itu, membenarkan senarai pemula hanya pada RHS berbanding kedua-dua belah telah dianggap untuk mewujudkan ketidakkonsistenan yang berlebihan. Oleh itu, senarai pemula dibenarkan dalam konteks tertentu, seperti argumen fungsi, subskrip dan tugasan, tetapi bukan dalam kes umum argumen operator binari.

Atas ialah kandungan terperinci Mengapa Senarai Pemula Dihadkan dalam Argumen Operator Binari C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan