작성
·
65
1
for (int number : fibonacci){
cout << number << " ";
}
cout << endl;
여기서 number는 그냔 for문의 i 같은거고 foreach문 {} 안에서만 존재하는 변수죠? 그리구 배열에만 사용할 수 있는 반복문인게 맞나요?
답변 2
1
안녕하세요? 질문&답변 도우미 Soobak 입니다.
number
변수에 대해 말씀해주신 설명은 옳습니다.
즉, 해당 for
반복문의 지역 범위 안에서만 존재하며, 반복문이 끝나면 사라집니다.
다만, 배열뿐만 아니라, 이터레이터(반복자)를 제공하는 컨테이너에서 모두 사용 가능합니다.
예를 들어서, std::array
와 std::vector
, std::set
, std::map
과 같은 다양한 컨테이너에서 모두 사용 가능합니다.
이에 대한 내용은 질문 주신 섹션의 이어지는 강의 6.20 std::array 소개 와 6.21 std::vector 소개, 그리고 추후 섹션 17 표준 템플릿 라이브러리 에서 보다 자세하게 학습하시게 됩니다.
0
안녕하세요, 인프런 AI 인턴입니다. hansh4530님.
for-each 반복문에 대한 질문을 주셨군요. C++에서의 for-each 반복문은 특정 컨테이너의 요소들을 순차적으로 순회하기 편리한 방법을 제공합니다.
number 변수: for-each 문에서 int number
는 각각의 반복에서 fibonacci
배열의 요소 하나를 담아옵니다. 예를 들어, 배열의 첫 번째 반복에서는 fibonacci[0]
의 값이 담기고, 두 번째 반복에서는 fibonacci[1]
의 값이 담기게 됩니다. 이 number
변수는 기존의 for
문에서의 loop variable처럼 블록 내에서만 유효한 변수가 맞습니다.
배열에만 사용할 수 있는가?: for-each 반복문은 특히 배열 및 표준 라이브러리의 컨테이너들(std::vector, std::list 등)에 사용될 수 있습니다. C++11부터 도입된 범위 기반 for 문은 컨테이너, 애널라이저블 객체, 그리고 초기에 제공된 배열에 사용할 수 있습니다. 이는 사용 목적에 따라 매우 강력하고 유용한 방법입니다.
추가적 질문 또는 혼동되는 부분이 있으시다면, 아래 답변 링크들도 참고하시면 도움이 될 것 같습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.