cin의 리턴 값은 istream이지만 if나 while의 조건문 안에서는 operator에 의해 bool형으로 바뀐다. bool형으로 바뀌었을 때는 cin의 성공 여부가 리턴 값이 된다. int a; if(cin>>a){ } 이런 형태의 경우 cin에서 정수값이 a에 들어왔는지 확인 후 아니면 if문이 작동하지 않는다. 일반적인 경우 bool형태로 저장하려면 두가지 방법이 있다. bool b = static_cast(cin >> value); bool b(cin>>value); Reference skku.goorm.io/qna/4241