Site icon Learn C++

Everything You Need To Know About Strongly Typed Enums In Modern C++

Everything You Need To Know About Strongly Typed Enums In Modern C++

Variable declaration is important in programming and there is an enumeration method that allows you to numerate/count variables easily. In C++, enumeration is very important and widely used in different syntaxes. Enumeration in C++ can be done with the enum keyword which can be used to create unscoped and scoped enumerations. C++11 and above has modern enumeration methods that can be easily used in a modern C++ Code Editor and compiler. In this post, we explain what strongly typed enums in C++ are and how to use them.

First of all, let’s learn what enumeration in C++ means, and which types of enumerations we can use.

What is enumeration and how to use enum C++?

An enumeration is used to declare constants in a range of values easily. It may include several explicitly named constants which are also called as enumerators. In C++, enumeration can be done with enum keyword which is also known as enum-key. enum can be used in two ways in C++. These are,

In this article we explain how to use scoped enumeration in C++, in other words strongly typed enums.

Learn how to use strongly typed enums in Modern C++


Scoped enumeration types were introduced with the C++11 standards. In this enumeration type, the enum keyword is used with a class or struct to declare a scoped enumeration type. Its fundamental type can be fixed, not fixed or can be used to specify the name and the type.

The scoped enumerations can be used in 3 different types of syntax, these are,

  1. enum syntax for the scoped enumeration type whose type is not fixed:
[crayon-676361a567d06755527768/]

here is an example,

[crayon-676361a567d0e061445058/]

2. enum syntax for the scoped enumeration type whose type is fixed,

[crayon-676361a567d10170861952/]

here is an example,

[crayon-676361a567d12537410884/]

3. enum syntax for the scoped enumeration type which is used to specify the name and the type.,

[crayon-676361a567d14716979360/]

here is an example,

[crayon-676361a567d15003323532/]

Is there a simple example of how to use strongly typed enums in Modern C++?

Here is a simple example of strongly typed enums in Modern C++.

[crayon-676361a567d2b664521389/]

Is there a full example of how to declare and use strongly typed enums in Modern C++?

Here is a full example of strongly typed enums in Modern C++.

[crayon-676361a567d2d216054022/]

These are the simple scoped enumeration examples. In the unscoped enumeration, we don’t use struct or class as a scope for that enumeration. This is explained in another article in LearnCPlusPlus.org.

C++ Builder is the easiest and fastest C and C++ IDE for building simple or professional applications on the Windows, MacOS, iOS & Android operating systems. It is also easy for beginners to learn with its wide range of samples, tutorials, help files, and LSP support for code. RAD Studio’s C++ Builder version comes with the award-winning VCL framework for high-performance native Windows apps and the powerful FireMonkey (FMX) framework for cross-platform UIs.


Exit mobile version