언어/C++

[C++] 변수 선언, Loop 안에서? 밖에서?

CodeHunst 2025. 7. 26. 00:55
// 방법 1: 루프 안에서 변수 선언 및 할당
for (int i = 0; i < N; ++i) {
    int x = i * 2;
}

// 방법 2: 루프 밖에서 변수 선언 후 할당
int x;
for (int i = 0; i < N; ++i) {
    x = i * 2;
}

 

성능 차이

최신 컴파일러는 두 코드를 거의 동일하게 최적화해, 기본형 변수의 성능 차이는 거의 없다.

 

루프 밖에서 변수 선언 시, 오히려 스코프가 넓어져 루프 바깥에서 실수로 접근/변경할 수도...

 

어떤 방식을 선택할까?

 

기본형(int, float 등) 루프 안에서 선언 (가독성, 안정성)
생성/소멸 비용 큰 복잡한 객체 루프 밖에서 선언 후 재사용
 

기본형의 경우 성능 차이는 거의 없으니, 코드 명확성과 유지보수를 우선으로!

 

매 반복 생성/소멸 비용이 큰 객체는 루프 밖에서 선언하여 재사용하는 것이 성능에 유리하다