C++ - Enums

Overview

Estimated time: 25–35 minutes

Define sets of named constants with enums. Prefer scoped enums (enum class) to avoid name pollution and implicit conversions.

Learning Objectives

  • Declare classic enums and enum class.
  • Choose underlying integer type when needed.

Examples

enum class Color : unsigned char { Red, Green, Blue };
Color c = Color::Red;

Common Pitfalls

  • Unscoped enums implicitly convert to int; prefer enum class.