처리
[C++] EOF(End Of File) 처리 방법
1. scanf()가 입력받은 인자의 갯수를 리턴하는 특성을 활용하는 방법 #include int main() { int a, b; while (scanf("%d%d", &a, &b) == 2) // scanf는 입력받은 갯수를 리턴한다 // 만약에 scanf("%d",&a); 에서 입력이 제대로 들어왔다면 1이 리턴된다. // 그렇기 때문에 a,b를 입력받는 scanf가 2와 같다면이란 말은 입력이 있다면과 같은 말이다 printf("%d\n", a + b); } 2. scanf()를 EOF와 직접 비교하는 방법 #include int main(){ int a,b; while(scanf("%d %d",&a,&b) != EOF) // EOF == End Of File // 말그대로 파일의 끝에 도달하면..
C++ 예외 처리용 throw(), noexcept()
throw(typeid, typeid, ...) throw 한정자는 함수가 예외로 던질 수 있는 typeid의 목록을 인자로 받는다. typeid에 해당하는 타입이 클래스나 구조체라면, 상속받는 자식도 역시 예외를 던질 수 있는 타입으로 간주한다. // 아무 타입도 지정하지 않았으므로, 예외를 던지지 않는다. void no_except() throw(); // 모든 타입에 대해 예외를 던진다 void bar() throw(...) {}; // C++11부터 추가된 parameter pack, 즉 C++11 이전엔 이 형태가 불가능 void baz() {}; class X {}; class Y {}; class Z : public X {}; class W {}; // 함수 f는 X와 Y, 그리고 그들의 자..