강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

조준수님의 프로필 이미지
조준수

작성한 질문수

홍정모의 따라하며 배우는 C++

5.5 반복문 while

while 문의 static 질문

작성

·

202

1

강의 중간에 있는 코드에서요

while (true)
{
	static int count = 0; // 
	cout << count << endl;
	count++;
}

저 static 으로 선언된 count의경우
매 반복마다 초기화 하게 되는건데
static은 한번만 초기화 할수있으므로
원래 에러가 떠야 정상아닌가요?
그냥 컴파일에서 한번 초기화되었으니
다음 while 이 돌때는 그냥 무시하는건가요?

답변 1

0

static 변수인 count 의 수명을 생각해보시면 돼요! 

count 는 { } 이 중괄호 안에서 선언이 되었기 때문에 저 중괄호가 끝나면 수명이 끝납니다.

그러니까 매 반복마다 전혀 다른 별개의 count 가 매번 새롭게 만들어지는거에요.

그래서 기존 count 가 매번 초기화 되는게 아닙니다. 

4.1 강의를 다시 상기해보시면 이해되실거에요

조준수님의 프로필 이미지
조준수

작성한 질문수

질문하기