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-663a9eed590d1480171922/]

here is an example,

[crayon-663a9eed590d8633005051/]

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

[crayon-663a9eed590db514865761/]

here is an example,

[crayon-663a9eed590dc646136539/]

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

[crayon-663a9eed590de411562318/]

here is an example,

[crayon-663a9eed590e0684373097/]

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-663a9eed590e3877947753/]

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-663a9eed590e5842111384/]

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