Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mengelakkan Pemisah Luaran dalam Gelung Lelaran: Penyelesaian A C 11?
Lelaran pada jujukan elemen selalunya melibatkan pencetakan atau melakukan beberapa tindakan yang memerlukan pemisah antara elemen yang berturutan. Walau bagaimanapun, menambah pemisah selepas elemen terakhir boleh menjadi tidak diingini.
Apabila melelaran pada tatasusunan dengan gaya C untuk gelung, atau menggunakan lelaran tidak merosakkan untuk urutan saiz yang tidak diketahui, selongsong khas elemen terakhir boleh menghalang pemisah tambahan:
<code class="cpp">for (const auto& item : items) { cout << item; if (std::next(it) != items.cend()) { // Not the last element cout << separator; } }</code>
Daripada selongsong khas yang jelas, C 11 memperkenalkan cara yang lebih bersih untuk mencapai perkara ini:
<code class="cpp">const auto separator = "WhatYouWantHere"; const auto* sep = ""; for (const auto& item : items) { std::cout << sep << item; sep = separator; // Only assign when not on the last element }</code>
Dalam pendekatan ini, pembolehubah penunjuk sep menjejaki sama ada pemisah telah dicetak lagi. Apabila menemui elemen pertama, sep kosong, jadi tiada apa yang dicetak. Semasa gelung diteruskan, sep diberikan nilai pemisah. Untuk semua elemen seterusnya, pemisah dicetak sebelum elemen.
Atas ialah kandungan terperinci Bagaimana untuk Mengelakkan Pemisah Luaran dalam Gelung Lelaran: Penyelesaian A C 11?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!