English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo articolo, imparerai a utilizzare i tipi enumerati (enum). Inoltre, imparerai i luoghi di utilizzo degli enumerati nel programming C++.
Un tipo enumerato è un tipo dati definito dall'utente composto da costanti intere. È possibile utilizzare la parola chiaveenumdefinire l'enumerazione.
enum season { primavera, estate, autunno, inverno };
In questo caso, il nome dell'enumerazione è season.
E spring, estate e inverno sono valori di tipo season.
Di default spring è 0, estate è 1, ecc. È possibile modificare il valore predefinito degli elementi enumerati durante la dichiarazione (se necessario).
enum season { inverno = 0, estate = 4, autunno = 8, inverno = 12 };
Quando si crea un tipo enumerato, viene creato solo il piano della variabile. Questo è il metodo per creare una variabile di tipo enumerato.
enum boolean { false, true }; // funzione interna enum boolean check;
In questo caso, è stato creatoenum booleandi tipo boolean.
Questo è un altro metodo per dichiarare la variabile check utilizzando una sintassi diversa.
enum boolean { false, true }; check;
#include <iostream> using namespace std; enum week { domenica, lunedì, martedì, mercoledì, giovedì, venerdì, sabato }; int main() { week today; today = martedì; cout << "giorno della settimana?" << today+1; return 0; }
结果输出
Giorno della settimana?3
#include <iostream> 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; }
结果输出
Summer = 4
Le variabili enum assumono un valore tra molti possibili. Ecco un esempio per illustrarlo:
#include <iostream> using namespace std; enum suit { club = 0, diamonds = 10, hearts = 20, spades = 3 } card; int main() { card = club; cout << "La dimensione delle variabili enum è " << sizeof(card) << " byte."; return 0; }
结果输出
La dimensione delle variabili enum è 4 byte.
Questo è perché la dimensione degli interi è di 4 byte.
Questo rende l'enum una buona scelta per l'uso dei segni.
Puoi utilizzareStruttura C++Completa la stessa attività. Ma, utilizzare l'enumerazione può migliorare l'efficienza e la flessibilità.
Facciamo un esempio,
enum designFlags { ITALICS = 1, BOLD = 2, UNDERLINE = 4 } button;
Immaginiamo di essere a lavoro su un'applicazione Windows. Puoi impostare i segni ITALICS, BOLD e UNDERLINE per gestire il testo.
In questo pseudo-codice, tutti i costanti di integrazione sono potenze di 2 per un motivo.
// In binary ITALICS = 00000001 BOLD = 00000010 UNDERLINE = 00000100
Poiché il costante di integrazione è una potenza di 2, è possibile combinare due o più segni contemporaneamente senza utilizzare l'operatore di OR bitwise | per sovrapporsi. Questo consente di selezionare contemporaneamente due o più segni. Ad esempio,
#include <iostream> using namespace std; enum designFlags { BOLD = 1, ITALICS = 2, UNDERLINE = 4 }; int main() { int myDesign = BOLD | UNDERLINE; // 00000001 // | 00000100 // ___________ // 00000101 cout << myDesign; return 0; }
结果输出
5
当输出为5时,您始终知道会使用粗体(bold) 和 (underline) 下划线。
另外,您可以在要求中添加标志。
if (myDesign & ITALICS) { // 斜体代码 }
在这里,我们在设计中添加了斜体。注意,只有斜体代码写在语句if中。
在C ++编程中,您无需使用枚举就可以完成几乎所有任务。但是,在某些情况下,它们可能非常方便。这也或许是优秀程序员与更优秀程序员的不同之处。