2016-03-25 32 views
0

LearnCpp web sitesinden öğreniyorum ve bu çizgiye rastladım "Bir hata meydana geldiğinde ve bir stream iyi bitmeden başka bir şeye ayarlanırsa, bu akıştaki diğer akış işlemleri göz ardı edilir. clear() işlevi ". Ancak ios_base sınıfında, bayrakların statik olarak ayarlandığını, yani sınıfın her bir örneği tarafından paylaşıldıklarını fark ettim, Bu demek oluyor ki, örneğin, kuşkusuz bayrağın, diğer tüm istream sınıfı örneklerini kazandıracak şekilde yerleştirilmesi anlamına gelir. Çalışmak mı?G/Ç akışı bayrakları nasıl çalışır?

+3

Bayraklar kendileri değişmez, statik sabitlerdir. Her standart akışta temeldeki bit maskesi mevcut olan değişikliklerdir. – 0x499602D2

+0

@ 0x499602D2 Bunu yanıt olarak göndermelisiniz, çünkü doğru. –

cevap

3

Bayraklar kendileri değişmez, statik sabitlerdir. Her standart akışta temeldeki bit maskesi mevcut olan değişikliklerdir. clear() ne yapar, maskeyi sıfırlar ve sağlanan bayrağı ayarlar (varsayılan değer olarak ios_base::goodbit).