Heim > Backend-Entwicklung > C++ > Hauptteil

Wie kann man in C durch aufeinanderfolgende Elemente ohne überflüssige Trennzeichen iterieren?

Linda Hamilton
Freigeben: 2024-10-26 23:21:31
Original
744 Leute haben es durchsucht

How to Iterate Through Consecutive Elements Without Extraneous Separators in C  ?

Aufeinanderfolgende Elemente ohne überflüssige Trennung iterieren

Bei der objektorientierten Programmierung ist es eine häufige Aufgabe, eine Operation zwischen aufeinanderfolgenden Elementen einer Sammlung durchzuführen, ohne ein unerwünschtes Trennzeichen am Ende einzuführen . Dieses Problem wird durch Durchlaufen der Sammlung und bedingtes Drucken des Trennzeichens zwischen Elementen behoben.

Bei Verwendung der bereichsbasierten for-Schleife von C 11 besteht eine ausführliche, aber effektive Lösung darin, die Elemente mit einem um eins vorgezogenen zweiten Iterator zu durchlaufen :

<code class="cpp">for (auto it = items.cbegin(); it != items.cend(); it++) {
    cout << *it;
    if (std::next(it) != items.cend()) {
        cout << separator;
    }
}</code>
Nach dem Login kopieren

Dieser Ansatz erhöht jedoch den Overhead eines zweiten Iterators und verdeckt die Hauptlogik.

Um dieses ästhetische Problem zu lösen, besteht ein einfacherer Ansatz darin, eine Zeichenfolgenvariable bedingt zu aktualisieren enthält das Trennzeichen:

<code class="cpp">const auto separator = "WhatYouWantHere";
const auto* sep = "";
for (const auto& item : items) {
    std::cout << sep << item;
    sep = separator;
}</code>
Nach dem Login kopieren

Indem wir die Variable sep mit einem leeren String initialisieren und innerhalb der Schleife aktualisieren, stellen wir sicher, dass das Trennzeichen zwischen allen Elementen außer dem letzten gedruckt wird. Dies bietet eine präzise und effiziente Lösung des Problems.

Das obige ist der detaillierte Inhalt vonWie kann man in C durch aufeinanderfolgende Elemente ohne überflüssige Trennzeichen iterieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!