Was bedeutet C um ++ zu überprüfen true zurück aus if (testdat)?
Von cppreference:
überprüft, ob der Strom keine Fehler hat.
1) Gibt einen Null-Zeiger zurück, wenn fail()
Wahr zurückgibt, andernfalls einen Nicht-Null-Zeiger zurückgibt. Dieser Zeiger ist implizit in bool
konvertierbar und kann in booleschen Kontexten verwendet werden. (bis C++11
)
2) Gibt true
zurück, wenn der Stream keine Fehler aufweist und für E/A-Vorgänge bereit ist. Insbesondere wird !fail()
zurückgegeben. (Da C++11
)
1) operator void*() const;
(bis C++ 11)
2) explicit operator bool() const;
(seit C++ 11)
Wenn der Stream keine Fehler hat es kehrt true
, andernfalls wird false
zurückgegeben.
Dies macht es möglich, Dinge zu tun, wie:
while(stream >> value) {
...
}
http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool –
http://www.cplusplus.com/reference/ios/ios/operator_bool/ – ForceBru