Język programowania C ++ oparte na zasięgu dla pętli jest stosunkowo niedawną funkcją, która została po raz pierwszy wprowadzona w C ++ 11. Oparte na zakresie pętli Wykonaj pętlę nad zakresem. Pracują z każdym kontenerem, który ma iterator, w tym tablice, wektory, mapy, zestawy, a nawet typy zdefiniowane przez użytkownika, które implementują niezbędne operacje.
Składnia zasięgu dla pętli
A oparte na zasięgu dla pętli ma bardzo prostą składnię. Składa się ze zmiennej pętli, pojemnika lub zasięgu do iteracji i okrężnicy.
dla (Range_Declaration: Range_Expression) Instrukcja pętli
Range_Declaration: Deklaracja zasięgu jest deklaracją zmiennej o tym samym rodzaju, co elementy wyrażenia komponentu zasięgu. Aby automatycznie określić rodzaj komponentów w Expression Range_, Słowo kluczowe automatycznego jest często używane.
Range_Expression: Każde wyrażenie reprezentujące listę elementów to Expression Range_.
Oświadczenie o pętli: Korpus pętli A składa się z jednego lub więcej stwierdzeń, które należy powtórzyć do końca Expression Range_Expression.
Metody wykonywania zasięgu dla pętli
Istnieją trzy metody, które można zastosować oparte na zasięgu dla pętli.
Metoda 1: Korzystanie z tablic
Oparte na zasięgu dla pętli można uruchomić za pomocą takich tablic.
#włączać
za pomocą przestrzeni nazw Std;
int main ()
int numarray [] = 6, 7, 8, 9, 10;
dla (int n: numarray)
Cout << n << " ";
powrót 0;
W powyższym kodzie zainicjowano tablicę liczb całkowitych o nazwie Numarray. Następnie elementy Numarray zostały wydrukowane za pomocą oparte na zasięgu dla pętli.
Wyjście
Metoda 2: Za pomocą wektorów
Oparte na zasięgu dla pętli można uruchomić za pomocą takich wektorów.
#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()
int x;
wektorv = 1, 2, 3, 4, 5;
dla (int x: v)
Cout << x << " ";
powrót 0;
W powyższym kodzie wektor nazywany v został zainicjowany. Tutaj elementy wektora V zostały wydrukowane za pomocą oparte na zasięgu dla pętli.
Wyjście
Metoda 3: Zadeklaruj kolekcję w pętli
Oparte na zasięgu dla pętli można również zadeklarować w pętli. Działa podobnie jak rzeczywista tablica lub wektor.
#włączać
za pomocą przestrzeni nazw Std;
int main ()
dla (int n: 5, 10, 15, 20, 25)
Cout << n << " ";
powrót 0;
W powyższym kodzie kolekcja jest zadeklarowana w samej pętli, a następnie wydrukowana.
Wyjście
Zalety i wady zasięgu oparte na pętli
Oparte na zasięgu dla pętli ma więcej korzyści niż konwencjonalne Do pętle na kilka sposobów, szczególnie podczas pracy z kontenerami. Ponieważ zmienna pętli jest zdefiniowana wewnątrz pętli, a zakres jest wyraźnie określony, sprawia, że kod jest znacznie krótszy i łatwiejszy do zrozumienia. Są również bezpieczniejsze, ponieważ nie trzeba martwić się o błędy poza jednym lub inne błędy indeksujące. Są bardziej elastyczne, ponieważ mogą używać dowolnego pojemnika, niezależnie od jego rodzaju lub rozmiaru. oparte na zasięgu dla pętli ma kilka zalet, z których jednym jest to, że nasz kod jest czystszy i łatwiejszy do zrozumienia.
Oparte na zakresie pętli Mają jednak pewne ograniczenia. Ponieważ zmienna pętli jest kopią lub odniesieniem do elementu, a nie do rzeczywistego elementu, nie można jej użyć do zmiany elementów kontenera. Ponieważ pełny zakres jest stale iterowany, nie możemy pomijać żadnych elementów ani iterować tylko nad częścią danych.
Wniosek
Oparte na zasięgu dla pętli jest potężną i wszechstronną funkcją języka programowania C ++. W porównaniu z konwencjonalnymi w przypadku pętli oferują lepsze bezpieczeństwo i elastyczność wraz z wyraźnym i czytelnym podejściem do iteracji za pośrednictwem pojemników i zmniejszania kodu. Oparte na zasięgu dla pętli jest koniecznością, aby nauczyć się programistów C ++.