chciałbym zwykle zrobić:
t[0] = true;
t[1] = false;
t[2] = -1;
Albo jeśli trzeba tylko 3 stany, ale być może chciałby więcej w pewnym momencie, enum
jest wielki:
enum STATES
{
NULL_STATE = -1, // you can manually specify -1 to give it a special case value
FALSE, // will be equal to 0
TRUE // will be equal to 1
};
Bez względu na to, co jednak 0/false
jest jedyną rzeczą, która zwraca false
w oświadczeniu if()
.-1
i true
zarówno zwracają true
.
Możesz użyć przełącznika tak, aby radzić sobie z 3+ stanach:
switch (var) // may need to cast: (int)var
{
case 1:
case 0:
case -1:
};
Alternatywnie, jeśli chcesz, aby trzymać się blok if oświadczenie, można zrobić coś takiego:
if (var == -1) // or (var == NULL_STATE)
{}
else if (var) // true condition
{}
else // false
{}
Utwórz wyliczenie trzymające trzy wartości: – Martin
boolen lub boolean? – Nik