Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: C++
Expertise: Beginner
Oct 25, 1999

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; //fine
x = 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.
DevX Pro
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date