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] – [Basics] rpjdayc_enums [2018/02/04 12:15] (current) – [Basics] rpjday
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.1517739288.txt.gz
  • Last modified: 2018/02/04 10:14
  • by rpjday