// 방법 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 등) | 루프 안에서 선언 (가독성, 안정성) |
| 생성/소멸 비용 큰 복잡한 객체 | 루프 밖에서 선언 후 재사용 |
기본형의 경우 성능 차이는 거의 없으니, 코드 명확성과 유지보수를 우선으로!
매 반복 생성/소멸 비용이 큰 객체는 루프 밖에서 선언하여 재사용하는 것이 성능에 유리하다
'언어 > C++' 카테고리의 다른 글
| [C++] STL - 연관 컨테이너 (0) | 2024.05.12 |
|---|---|
| [C++] Struct 와 Class 의 차이 (0) | 2024.03.09 |
| [C++] 전위 연산자(++i) vs 후위 연산자(i++) 성능 차이? (0) | 2024.02.29 |
| [C++] 표준 템플릿 라이브러리 (STL) (0) | 2023.12.31 |
| [C++] new와 delete (0) | 2023.12.19 |