만약 c++에서 while문을 사용하여 변수의 값을 받을 때,
데이터의 갯수가 정해지지 않는다면 어떻게 할까?
별 다른 데이터 갯수의 제한 없이 무한 루프를 사용한다면 자원 활용은 굉장히 비효율적이게 된다.
C였다면 EOF를 사용하였을 것이다. C++에서는 간단하게 하기와 같은 로직을 이용하면 된다.
#include <iostream>
using namespace std;
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int a,b = 0;
while(cin >> a >> b){
// cin >> a >> b를 작성하면 무한루프가 발생한다.
// -1(EOF)를 입력하면 while문을 빠져나오게 된다.
// 특정 조건(ex : 0입력시 종료)은 말 그대로 if를 세워주면 된다.
cout << a+b << "\n";
}
return 0;
}
*EOF = End Of File (-1을 의미)
프로그램에서 데이터의 입력 갯수가 정해지지 않을 때, 프로그램에서 파일의 끝을 만났음을 알리기 위해
매크로에서 정의 된 EOF값을 리턴한다.
'👩🏻💻 Programming > C++' 카테고리의 다른 글
Find()와 Substr() (0) | 2020.02.10 |
---|---|
공백이 포함된 문자열 받기 (0) | 2020.02.10 |
아스키코드 (0) | 2020.02.09 |
C++ 소수점 반올림 (0) | 2020.02.02 |
Cin과 Cout (0) | 2020.01.27 |