0
cin >>
을 조건으로 사용할 수 있음을 안다. 그러나 나는 그것의 기능을 이해할 수 없다. 왜냐하면 전형적인 조건 표현 인 a < b
과 다르기 때문이다. 왜 그것이 조건으로 작동 할 수 있습니까?"cin >>"이 (가) 조건으로 사용되는 이유
cin >>
을 조건으로 사용할 수 있음을 안다. 그러나 나는 그것의 기능을 이해할 수 없다. 왜냐하면 전형적인 조건 표현 인 a < b
과 다르기 때문이다. 왜 그것이 조건으로 작동 할 수 있습니까?"cin >>"이 (가) 조건으로 사용되는 이유
cin >> a
return cin
. if
에 넣으면 operator bool
이 istream
이고, 이는 cin.good()
입니다. The documentation of ios::operator bool을보세요.
이것은 if((bool)(cin >> a))
또는 if((cin >> a).good())
과 동일합니다.
'std :: iostream :: operator >>'는 값을 반환합니다. 값은 조건에서 사용될 수 있습니다. – jamesdlin
보다 정확하게는 : 부울로 변환 가능한 값은 조건에서 사용될 수 있습니다. – user2079303