Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Flagi - czym to się je?

Ostatnio zmodyfikowano 2010-04-12 21:01
Autor Wiadomość
joasia_sz
Temat założony przez niniejszego użytkownika
Flagi - czym to się je?
» 2010-04-12 20:41:05
Witam. Było wytłumaczone, czym są te flagi, lecz ja nadal niezbyt rozumiem czym to się je, jak to zastosować, co to jest i po co. Byłabym wdzięczna za szersze wyjaśnienie.
Pozdrawiam :)
P-16086
DejaVu
» 2010-04-12 21:01:58
To zależy czego flagi dotyczą. W ogólnym przypadku znaczy to tyle:

Flaga ustawiona = watść true (1)
Flaga nieustawiona = wartość false (0)

Zmienna w której ustawiamy flagi za pomocą stałych, zapalają odpowiednie bity. Flagi można w takim polu łączyć. Przykładem argumentu flagowego jest metoda open() dla fstream'a, tj.
C/C++
std::fstream plik;
plik.open( "nazwa.txt", std::ios::in | std::ios::out );

W powyższym wypadku zostały ustawione dwie flagi - flaga odczytu i flaga zapisu. Flagi zostały oddzielone od siebie operatorem logicznym OR, czyli kreską pionową.

Flagi reprezentuje się zazwyczaj za pomocą liczby całkowitej, np. int, która zazwyczaj posiada 32 bity. Każdy bit może stanowić osobną flagę, dzięki czemu przekazując jedną zmienną do funkcji możemy ustawić aż 32 różne stany dla danej funkcji. W praktyce rzadko kiedy jest potrzeba przekazania aż tylu stanów jednocześnie, jednak jest to użyteczne dlatego, że umożliwia nam tworzenie kombinacji stanów i włączanie tylko tych opcji, które nas interesują.
P-16089
« 1 »
  Strona 1 z 1