English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Dans cet article, vous allez apprendre à utiliser les énumérations (enum). De plus, vous allez également apprendre C ++Lendroit où les énumérations sont généralement utilisées dans la programmation.
Les énumérations sont des types de données définis par l'utilisateur, composés de constantes entières. Vous pouvez utiliser les mots-clésenum,定义枚举。
enum season { spring, summer, autumn, winter };
Ici, le nom de l'énumération est season.
Et, spring, summer et winter sont des valeurs du type season.
Par défaut, spring vaut 0, summer vaut1,依此类推。Vous pouvez modifier la valeur par défaut de l'élément de l'énumération pendant la déclaration (si nécessaire).
enum season { spring = 0, summer = 4, autumn = 8, winter = 12 };
Lors de la création d'un type d'énumération, seule la blueprint de la variable est créée. C'est la méthode pour créer une variable de type d'énumération.
enum boolean { false, true }; // Fonction interne enum boolean check;
Ici, on a crééenum booleanLa variable de type.
C'est une autre méthode pour déclarer la même variable check en utilisant une syntaxe différente.
enum boolean { false, true }
#include <iostream> using namespace std; enum week { 星期日, 周一, 周二, 周三, 周四, 周五, 周六 }; int main() { week today; today = 周二; cout << "星期几?" << today+1; return 0; }
Résultat de la sortie
星期几?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; }
Résultat de la sortie
Summer = 4
枚举变量仅取许多可能值中的一个值。以下示例来演示它:
#include <iostream> using namespace std; enum suit { club = 0, diamonds = 10, hearts = 20, spades = 3 } card; int main() { card = club; cout << "enum变量的大小 " << sizeof(card) << " bytes."; return 0; }
Résultat de la sortie
enum变量的大小 4 bytes.
这是因为整数的大小为4个字节。
这使得enum成为使用标志的一个很好的选择。
您可以使用C ++结构完成相同的任务。但是,使用枚举可以提高效率和灵活性。
让我们举一个例子,
enum designFlags { ITALICS = 1, BOLD = 2, UNDERLINE = 4 } button;
假设您正在为Windows应用程序设计一个按钮。可以设置标志 ITALICS,BOLD和UNDERLINE来处理文本。
在上面的伪代码中,所有的积分常数都是2的幂是有原因的。
// 在二进制中 ITALICS = 00000001 BOLD = 00000010 UNDERLINE = 00000100
由于积分常数是2的幂,因此可以同时组合两个或多个标志,而无需使用按位或|操作符进行重叠。这允许您同时选择两个或多个标志。例如,
#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; }
Résultat de la sortie
5
Lorsque la sortie est5lorsque vous savez toujours que vous utiliserez du gras (bold) et du soulignement (underline).
De plus, vous pouvez ajouter des indicateurs dans les exigences.
if (myDesign & ITALICS) { // code en italique }
Ici, nous avons ajouté de l'italique dans la conception. Notez que ce sont uniquement les codes en italique qui sont écritsdans une instruction if.
Vous n'avez pas besoin d'utiliser des énumérations pour utiliser des valeurs entières dans C ++Dans la programmation, on termine presque toutes les tâches. Mais, elles peuvent être très utiles dans certains cas. Cela pourrait aussi être la différence entre un excellent programmeur et un programmeur encore meilleur.