Get the App
SLTechnology News&Howtos  ›  Internet Technology  › 

How C++ defines operators for enumerated types

Shulou Source: shulou.com Published: 2022-06-01 19:20:13 10月02日 Update

This article introduces the knowledge of "how C++ defines operators for enumerated types". Many people will encounter this dilemma in the operation of actual cases, so let the editor lead you to learn how to deal with these situations. I hope you can read it carefully and be able to achieve something!

Enum.4: define operators for enumerated types for safe and simple use

Reason (reason)

Easy to use with few mistakes.

Example (sample)

Enum Day {mon, tue, wed, thu, fri, sat, sun}

Day& operator++ (Day& d)

{

Return d = (d = = Day::sun)? Day::mon: static_cast (static_cast (d) + 1)

}

Day today = Day::sat

Day tomorrow = + + today

The use of static_cast is not good, but:

Day& operator++ (Day& d)

{

Return d = (d = = Day::sun)? Day::mon: Day {+ + d}; / / error

}

Is a very deep recursion, and if you don't use cast, it would be too cumbersome to use switch statements that cover all cases.

Enforcement (implementation recommendations)

The tag is converted repeatedly to an expression of an enumerated type.

That's all for how C++ defines operators for enumerated types. Thank you for reading. If you want to know more about the industry, you can follow the website, the editor will output more high-quality practical articles for you!

Tags: Type operator operation caching content situation more knowledge utility security complexity success in learning next no reason dilemma practice suggestion article tag Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Apple macOS Linux Redmi vpn