C ++ loendamine

Selles artiklis õpid loendamisega (loendiga) töötama. Samuti saate teada, kus C ++ programmeerimisel enume kasutatakse.

Loend on kasutaja määratletud andmetüüp, mis koosneb terviklikest konstantidest. Loendi määratlemiseks kasutatakse märksõna enum .

 loendushooaeg (kevad, suvi, sügis, talv);

Siin on loenduse nimeks hooaeg.

Ja kevad, suvi ja talv on tüübihooaja väärtused.

Vaikimisi on kevad 0, suvi 1 ja nii edasi. Deklareerimise ajal saate loendielemendi vaikeväärtust muuta (vajadusel).

 loendushooaeg (kevad = 0, suvi = 4, sügis = 8, talv = 12);

Loendatud tüübideklaratsioon

Kui loote loendatud tüübi, luuakse ainult muutuja plaan. Siit saate teada, kuidas luua loenditüüpi muutujaid.

enum boolean (vale, tõene); // sisemine funktsioon enum boolean check;

Siin luuakse tüübi muutuv kontroll enum boolean.

Siin on veel üks viis sama kontrollmuutuja deklareerimiseks erineva süntaksiga.

 enum boolean (vale, tõene) kontroll; 

Näide 1: loenduse tüüp

 #include using namespace std; enum week ( Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday ); int main() ( week today; today = Wednesday; cout << "Day " << today+1; return 0; ) 

Väljund

 4. päev

Näide2: Enumsi vaikeväärtuse muutmine

 #include using namespace std; enum seasons ( spring = 34, summer = 4, autumn = 9, winter = 32); int main() ( seasons s; s = summer; cout << "Summer = " << s << endl; return 0; )

Väljund

 Suvi = 4

Miks C ++ programmeerimisel kasutatakse enume?

Enum muutuja võtab paljudest võimalikest väärtustest ainult ühe väärtuse. Näide selle demonstreerimiseks,

 #include using namespace std; enum suit ( club = 0, diamonds = 10, hearts = 20, spades = 3 ) card; int main() ( card = club; cout << "Size of enum variable " << sizeof(card) << " bytes."; return 0; ) 

Väljund

 Loendi muutuja suurus 4 baiti.

Sellepärast, et täisarv on 4 baiti;

See teeb enumile hea valiku lipudega töötamiseks.

Sama ülesande saate täita C ++ struktuuride abil. Enums'iga töötamine annab aga tõhususe ja paindlikkuse.

Kuidas kasutada lippe lippude jaoks?

Võtame näite,

 enum designFlags ( ITALICS = 1, BOLD = 2, UNDERLINE = 4 ) button; 

Oletame, et kujundate Windowsi rakenduse jaoks nuppu. Tekstiga töötamiseks saate määrata lipud ITALICS, BOLD ja UNDERLINE.

On üks põhjus, miks kõik integraalsed konstandid on ülaltoodud pseudokoodi väärtused 2.

 // Binaarses vormis ITALICS = 00000001 BOLD = 00000010 ALAJoon = 00000100 

Kuna integraalkonstandid on 2 võimsus, saate bitipõhise VÕI | abil kombineerida kaks või enam lippu korraga kattumata. operaator. See võimaldab teil valida kaks või enam lippu korraga. Näiteks,

 #include using namespace std; enum designFlags ( BOLD = 1, ITALICS = 2, UNDERLINE = 4 ); int main() ( int myDesign = BOLD | UNDERLINE; // 00000001 // | 00000100 // ___________ // 00000101 cout << myDesign; return 0; ) 

Väljund

 5

Kui väljund on 5, teate alati, et kasutatakse rasva ja allajoonimist.

Samuti saate oma nõuetele lisada lipu.

 if (myDesign & ITALICS) (// kursiivikood)

Siin oleme lisanud oma kujundusele kursiivi. Pange tähele, et if-lause sees on kirjutatud ainult kursiivikood.

C ++ programmeerimisel saate peaaegu kõike teha ilma loendeid kasutamata. Kuid need võivad teatud olukordades olla üsna käepärased. See eristab häid programmeerijaid suurtest programmeerijatest.

Huvitavad Artiklid...