tôi nghĩ rằng:Làm thế nào để cin đánh giá đúng khi bên trong câu lệnh if?
if (true)
{execute this statement}
Vì vậy, làm thế nào để if (std::cin >> X)
thực hiện như đúng khi không có gì là "true" về nó? Tôi có thể hiểu nếu đó là if (x <= y)
hoặc if (y [operator] x)
, nhưng loại logic nào là "istream = true?".
nếu "chấp nhận" một bool. do đó bất cứ điều gì bên trong() sẽ được đúc thành bool, thông qua toán tử bool(); ngoài ra, hãy xem http://stackoverflow.com/questions/6791520/if-cin-x-why-can-you-use-that-condition – Exceptyon
Luồng là "true-ish" nếu thao tác cuối cùng thành công. – molbdnilo
Câu hỏi đầu tiên bạn cần phải tự hỏi mình là giá trị của biểu thức '(std :: cin >> X)' là gì. –