Istream nesnesinin neden bool ifadesi olarak kullanılabileceğini bilen var mı? Örneğin: ifstream nesnesine bir başvuru verir input >> iValue
BuradaNeden komut nesnesi bir bool ifadesi olarak kullanılabilir?
ifstream input("tmp");
int iValue;
while (input >> iValue)
//do something;
. Bu nesnenin neden bool ifadesi olarak kullanıldığını bilmek istiyorum.
Ben lfStream sınıfa bakmak ve bu şu üye işlevine bağlı olabilir bulmak:
operator void * () const;
bu işlevi hakkında ayrıntılar için here bakınız.
Öyleyse, bu işlevi bana açıklayan var mı? Bu işlevin prototipi, normal operatör aşırı yük beyanından farklıdır. Bu işlevin dönüş tipi nedir?
Değilse, o zaman, ifstream nesnesinin bool ifadesi olarak kullanılmasının nedeni nedir?
Yardımlarınız için bekliyorum!
Cheng
Eh yalındır cevap olmasına rağmen soru soruldu. –
C++ 11'den bu yana aslında 'open bool() ' –