capypad
0 Tage Serie
cpp / beginner
Snippet

Aufzählungen für benannte Konstanten

Eine enum class erstellt eine typsichere Methode um einen Satz von benannten Integer-Konstanten zu definieren. Im Gegensatz zu normalen enums verhindert enum class die implizite Konvertierung zu int und erfordert den Scope-Resolution-Operator (::) um auf Werte zuzugreifen. Dies macht den Code lesbarer und verhindert Fehler beim Vergleichen unverbundener enum-Werte.

snippet.cpp
cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
 
enum class DayOfWeek {
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
};
 
int main() {
DayOfWeek today = DayOfWeek::Friday;
if (today == DayOfWeek::Friday) {
std::cout << "It's Friday! Weekend is near." << std::endl;
}
return 0;
}
Erklärung
1
enum class DayOfWeek {
Deklariert eine stark typisierte Aufzählung namens DayOfWeek
2
Monday,
Erster enum-Wert, implizit 0 zugewiesen
3
Tuesday,
Zweiter enum-Wert, implizit 1 zugewiesen
4
Wednesday,
Dritter enum-Wert, implizit 2 zugewiesen
5
Thursday,
Vierter enum-Wert, implizit 3 zugewiesen
6
Friday,
Fünfter enum-Wert, implizit 4 zugewiesen
7
Saturday,
Sechster enum-Wert, implizit 5 zugewiesen
8
Sunday
Siebter enum-Wert, implizit 6 zugewiesen
9
};
Schließt die enum class Definition ab
10
DayOfWeek today = DayOfWeek::Friday;
Erstellt Variable vom enum-Typ und weist Friday mit Scope-Operator zu
11
if (today == DayOfWeek::Friday) {
Vergleicht today mit Friday unter Verwendung des Scope-Operators
12
std::cout << "It's Friday! Weekend is near." << std::endl;
Gibt Nachricht aus wenn Bedingung wahr ist
13
}
Schließt die if-Anweisung ab