Myślałem, że:W jaki sposób cin ocenia się jako prawdziwe, gdy znajduje się wewnątrz instrukcji if?
if (true)
{execute this statement}
Więc w jaki sposób if (std::cin >> X)
wykonać jak wtedy, kiedy nie ma nic „true” na ten temat? Mogłem zrozumieć, czy było to if (x <= y)
lub if (y [operator] x)
, ale jaka jest logika "istream = true?".
jeśli "przyjmie" wartość bool. dlatego wszystko wewnątrz funkcji() zostanie rzucone do bool poprzez operator bool(); także, zobacz http://stackoverflow.com/questions/6791520/if-cin-x-why-can-you-use-thond-condition – Exceptyon
Strumień jest "true-ish", jeśli ostatnia operacja zakończyła się powodzeniem. – molbdnilo
Pierwsze pytanie, które należy zadać sobie, to jaka jest wartość wyrażenia '(std :: cin >> X)'. –