728x90
무한루프
무한루프란?
- 무한 루프는 프로그램의 실행이 종료되지 않고 끝없이 수행되어지는 상태를 말한다.
- 무한 루프는 주로 게임 프로그래밍을 할 때 사용한다.
- 무한 루프를 종료시키기 위해서는 <Enter>를 눌러 강제 종료시켜야 한다.
for문을 이용한 무한 루프
//무한루프
for(; ;){
...
...
}
//해결 방법
for(; ;){
문장;
if(조건);
break;
}
- for문은 세미콜론(;)만 2번 기술하면 문법적으로 문제가 없이 무한 루프가 됨.
- 이런 경우 조건이 참으로 가정되어 끊임없이 문장을 수행해서 무한 루프에 빠짐.
- 무한 루프의 수행을 멈추려면 반복문 내부에 조건을 제시하여 조건에 만족할 경우 수행할 문장 안에 break문이나 return문을 넣어 강제로 종료시켜줘야함.
while문을 이용한 무한 루프
//무한루프
while(true){
...
...
}
//해결 방법
while(true){
문장;
if(조건)
break;
}
- while문을 이용한 무한 루프는 일반적으로 조건식에 true를 기술해서 표현
- while문도 for문과 마찬가지로 반복문 안에 if문으로 조건을 기술해서 해당 조건을 만족하면 반복문을 벗어나게 프로그래밍함.
goto문
//다중 for문에서의 goto문
바깥쪽 for문{
안쪽 for문{
goto exit_out_for; //exit_out_for은 레이블이다.
...
}
...
}
exit_out_for : 문장 1;
//while문에서의 goto문
#include <iostream>
using namespace std;
int main()
{
int i = 0;
while(true){
cout << ++i;
if ( i % 10 == 0)
goto exit_while; //exit_while은 레이블
}
exit_while : cout << "\n >> ----The End---- << \n";
}
- goto문은 프로그램의 실행 순서를 레이블이 위치한 곳으로 강제로 옮겨주기 위해서 사용한다.
- 레이블이란 실행 순서를 옮겨 놓을 위치를 지명하는 이름으로 사용자가 정해준다.
- goto문은 논리적인 의미를 갖지 못하고 무조건 분기하므로 goto문을 많이 사용하여 프로그램을 작성하면 프로그램을 이해하기 힘들다.
- 가급적이면 goto문은 사용하지 않는 것이 바람직한다.
- goto문이 효과적으로 사용되는 경우도 있다.
- 다중 반복문에서는 break문이 사용되었을 경우에 가장 근접한 반복문만을 벗어난다.
- 경웨 따라서는 안쪽 반복문만 벗어나지 않고 바깥쪽 반복문 밖으로 벗어나도록 해야하는데, 이럴 때 goto문을 사용한다.
본 게시물은 "C++ 하이킹 객체지향과 만나는 여행"을 기준으로 작성함을 알립니다.
'C++ > 이론' 카테고리의 다른 글
[C++] 함수(2) (0) | 2024.09.24 |
---|---|
[C++] 함수(1) (5) | 2024.09.20 |
[C++] 보조 제어문 (break문, continue문) (0) | 2023.09.30 |
[C++] 반복문 (for문, while문) (0) | 2023.09.29 |
[C++] 제어문과 선택문(if~else 문, switch 문) (0) | 2023.09.28 |