C++ 프로그래밍 언어의 범위 기반 for 루프 C++11에서 처음 도입된 비교적 최근 기능입니다. 범위 기반 for 루프 루프 오버 범위를 실행합니다. 배열, 벡터, 맵, 세트 및 필요한 작업을 구현하는 사용자 정의 유형을 포함하여 반복자가 있는 모든 컨테이너와 함께 작동합니다.
범위 기반 for 루프의 구문
ㅏ 범위 기반 for 루프 매우 간단한 구문이 있습니다. 루프 변수, 반복할 컨테이너 또는 범위, 콜론으로 구성됩니다.
~을 위한 ( range_declaration : 범위_표현 ) 루프 문
range_declaration: 범위 선언은 범위 구성 요소 표현식의 요소와 동일한 유형의 변수 선언입니다. 구성 요소 유형을 자동으로 결정하려면 range_expression , auto 키워드가 자주 사용됩니다.
range_expression: 요소 목록을 나타내는 모든 표현식은 range_expression .
루프 문: for 루프의 본문은 range_expression이 끝날 때까지 반복되어야 하는 하나 이상의 문으로 구성됩니다.
범위 기반 for 루프를 실행하는 방법
에 사용할 수 있는 세 가지 방법이 있습니다. 범위 기반 for 루프 .
방법 1: 배열 사용
범위 기반 for 루프 이와 같은 배열을 사용하여 실행할 수 있습니다.
#include네임스페이스 표준 사용;
정수 메인 ( ) {
int numArray [ ] = { 6 , 7 , 8 , 9 , 10 } ;
~을 위한 ( int n : 숫자배열 ) {
쿠우트 << N << ' ' ;
}
반품 0 ;
}
위의 코드에서 numArray라는 정수 배열이 초기화되었습니다. 그런 다음 numArray의 요소는 다음을 사용하여 인쇄되었습니다. 범위 기반 for 루프 .
산출
방법 2: 벡터 사용
범위 기반 for 루프 이와 같은 벡터를 사용하여 실행할 수 있습니다.
#include#include <벡터>
네임스페이스 표준 사용;
정수 메인 ( )
{
정수 x;
벡터 < 정수 > 안으로 = { 1 , 2 , 삼 , 4 , 5 } ;
~을 위한 ( 정수 x : v )
{
쿠우트 << 엑스 << ' ' ;
}
반품 0 ;
}
위의 코드에서 ~에 초기화되었습니다. 여기서 벡터 v의 요소는 a를 사용하여 인쇄되었습니다. 범위 기반 for 루프.
산출
방법 3: 컬렉션 내부 루프 선언
범위 기반 for 루프 루프 내에서 선언할 수도 있습니다. 실제 배열이나 벡터와 유사하게 작동합니다.
#include네임스페이스 표준 사용;
정수 메인 ( ) {
~을 위한 ( 정수 n : { 5 , 10 , 열 다섯 , 이십 , 25 } ) {
쿠우트 << N << ' ' ;
}
반품 0 ;
}
위의 코드에서 컬렉션은 루프 자체 내에서 선언된 다음 인쇄됩니다.
산출
범위 기반 for 루프의 장단점
범위 기반 for 루프 기존보다 더 많은 이점이 있습니다 ~을 위한 특히 컨테이너로 작업할 때 여러 가지 방식으로 반복됩니다. 루프 내부에 루프 변수가 정의되고 범위가 명시적으로 명시되어 있기 때문에 코드가 훨씬 짧고 이해하기 쉽습니다. 또한 개별 오류 또는 기타 인덱싱 실수에 대해 걱정할 필요가 없으므로 더 안전합니다. 유형이나 크기에 관계없이 모든 용기를 사용할 수 있기 때문에 적응력이 더 뛰어납니다. 그만큼 범위 기반 for 루프 여러 가지 이점이 있는데 그 중 하나는 코드를 더 깔끔하고 이해하기 쉽게 만든다는 것입니다.
범위 기반 for 루프 그러나 특정 제한 사항이 있습니다. 루프 변수는 실제 요소가 아닌 요소의 복사본 또는 참조이므로 컨테이너의 요소를 변경하는 데 사용할 수 없습니다. 전체 범위가 지속적으로 반복되므로 요소를 건너뛰거나 데이터의 일부만 반복할 수 없습니다.
결론
범위 기반 for 루프 C++ 프로그래밍 언어의 강력하고 다양한 기능입니다. 기존의 for 루프와 비교하여 컨테이너를 반복하고 코드를 줄이는 명확하고 읽기 쉬운 접근 방식과 함께 향상된 안전성과 유연성을 제공합니다. 범위 기반 for 루프 C ++ 프로그래머가 배워야 할 필수 사항입니다.