Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   [решено] установки флагов формата потоков (http://forum.oszone.net/showthread.php?t=87930)

bool 01-08-2007 16:22 621379

установки флагов формата потоков
 
небольшой отрывок функции:

Код:

ios::fmtflags f;

f=cout.flags();

if(f & ios::skipws) cout << "skiws установлен\n";
else cout << "skipws сброшен\n";

присваиваем переменной f установки флагов формата, и теперь вопрос: оператор & сравнивает поразрядно операнды, но ведь в f все установки флагов, а сравниваем мы её только с skipws, как может получиться, что выражение (f & ios::skipws) даст нам истину?

bool 02-08-2007 00:11 621549

уже помогли)
т.к. сравнивание идет поразрядное , то получается примерно следующим образом, например f = 11111 , а skipws = 00010. при сравнении получаем : 00010 , т.е. истину 8)


Время: 16:19.

Время: 16:19.
© OSzone.net 2001-