devxlogo

Strong Types

Strong Types

Question:
How do you make the compiler generate an error when a variable is set to a value outide the range of the constrained type? For example;

 strong x;  //strong is a type that                         //must have values range             //between 1 thru 10 x=11       //I want a compiler error            //here! Out of range!

Answer:
The easiest and most efficient way to achieve the desired compile-time checking is using enum types.The only snag is that you have to define symbolic names rather than numerals:

enum one_to_ten{ one = 1,  two,  three,  ...  ten};one_to_ten x = ten; //finex = 10; //error, must use an enumerator

There is also a template-based solution but it’s much more complicated and has a performance penalty that may be unacceptable so the most reasonable solution is still enum types.

See also  Professionalism Starts in Your Inbox: Keys to Presenting Your Best Self in Email
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist