iX 7/2020
S. 124
Praxis
C++-Tricks

Scoped Enums in C++

Aufgezählt

Andreas Fertig

Die Einführung von Scoped Enums in C++11 hat Enumerationen zu einem mächtigen Sprachmittel gemacht. Sie bilden einen eigenen, abgeschlossenen Namensraum, wodurch sich gleiche Enumerationen nicht in die Quere kommen. Zudem sorgen sie für robusteren Code.

Enumerationen (Aufzählungen) bilden in C++ einen eigenen Datentyp, der von Programmierern mit Konstanten befüllt werden kann. Sie werden über das Schlüsselwort enum definiert. Es gibt Aufzählungen mit eigenem Namensraum (Scoped Enums) und ohne (Unscoped Enums). Der Artikel beschäftigt sich mit Scoped Enums.

Scoped Enums sind seit C++11 in der Sprache enthalten. Sie bringen drei Eigenschaften mit, die sie für verschiedene Anwendungen interessant machen. Der erste Punkt ist die Verfügbarkeit im Namensraum. Scoped Enums beheben eine Schwäche der in C existierenden Enums: Diese sind im gesamten Namensraum sichtbar, in dem der Aufzählungstyp enum definiert wird. Das führt immer wieder zu Problemen, vor allem, wenn enum im globalen Namensraum deklariert ist.

Alle heise-Magazine mit heise+ lesen

3,99 € / Woche

Ein Abo, alle Magazine: c't, iX, Mac & i, Make & c't Fotografie

  • Alle heise-Magazine im Browser und als PDF
  • Alle exklusiven heise+ Artikel frei zugänglich
  • heise online mit weniger Werbung lesen
  • Vorteilspreis für Magazin-Abonnenten
Jetzt unbegrenzt weiterlesen Vierwöchentliche Abrechnung.

Alle Ausgaben freischalten

2,60 € 1,49 € / Woche

Nach Testphase 2,60 € wtl.

  • Zugriff auf alle iX-Magazine
  • PDF-Ausgaben zum Herunterladen
  • Zugriff in der iX-App für unterwegs
  • Über 35% günstiger im Testzeitraum
Jetzt testen Nach Testphase jederzeit monatlich kündbar.

Ausgabe einmalig freischalten

8,90 € / Ausgabe

Diese Ausgabe lesen – ohne Abobindung

  • Sicher einkaufen im heise shop
  • Magazin direkt im Browser lesen
  • Dauerhaft als PDF behalten

Kommentare lesen (1 Beitrag)