User Tools

Site Tools


c_enums

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
c_enums [2018/02/04 10:14]
rpjday [Basics]
c_enums [2018/02/04 12:15]
rpjday [Basics]
Line 1: Line 1:
 ===== Overview ===== ===== Overview =====
  
-C++11 extensions to enums -- enum classes versus original "​plain"​ enums.+C++11 extensions to enums -- enum classes versus original "​plain"​ enums (//scoped and strongly-typed//​ versus //​unscoped//​).
  
 ===== Basics ===== ===== Basics =====
 +
 +Underlying type is ''​int'':​
  
 <​code>​ <​code>​
-enum class Color { red, green, blue };+enum struct|class Color { red, green, blue };
 ... ...
 Color::red Color::red
Line 19: Line 21:
 enum class Warning w3 = Warning::​blue;​ // no enum class Warning w3 = Warning::​blue;​ // no
 </​code>​ </​code>​
 +
 +===== Treating scoped enums like ints =====
 +
 +Stack Overflow explanation [[https://​stackoverflow.com/​questions/​8357240/​how-to-automatically-convert-strongly-typed-enum-into-int|here]].
 +
 +See source for ''​ios_base.h''​ [[https://​github.com/​gcc-mirror/​gcc/​blob/​master/​libstdc%2B%2B-v3/​include/​bits/​ios_base.h|here]].
c_enums.txt ยท Last modified: 2018/02/04 12:15 by rpjday