728x90
반응형
[for문의 기본 형태]
for(초기식; 조건식; 변화식)
{
반복할 명령문;
}
[생략]
// 초기화 생략
int i = 0;
for(; i < 10; ++i)
{
printf("%d ", i);
}
// 반복 조건식 생략 -> 무한 루프
for(int i = 0;; ++i)
{
printf("%d ", i);
}
// 반복 진행식 생략 -> 무한 루프
for(int i = 0; i < 10;)
{
printf("%d ", i);
}
// 모두 생략 -> 무한 루프
for(;;)
{
printf("%d ", i);
}
초기화식, 조건식, 진행식을 생략 가능하다.
문법상으로는 문제가 없으나 초기화식 생략을 제외한 생략은 무한루프에 빠질 수 있다.
[범위기반 for문]
// c++11
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> vec = {0, 1, 2, 3, 4, 5};
for(int v : vec) // 범위기반 for문.
{
printf("%d ", v);
}
return 0;
}
c++11에서 새로 도입된 범위기반 for문이다.
내부적으로 반복자(iterator)를 사용하며, begin(), end()를 가진 STL(c++ standard library)컨테이너의 경우 범위기반 for문을 사용가능하다.
간단하게 자료구조의 원소들을 접근할 수 있다는 장점이 있지만, begin부터 모든 원소를 순차적으로 순회하기 때문에 특정 인덱스만 처리가 불가능하다.
728x90
반응형
'c++ > c++' 카테고리의 다른 글
setlocale (0) | 2023.07.10 |
---|---|
thread_local (1) | 2022.09.13 |
__declspec(thread) 지시자 (0) | 2022.08.05 |
클래스 전방선언 (0) | 2021.09.07 |
. 과 -> 의 차이 (1) | 2021.07.12 |