Den enum-Datentyp habe ich bislang nicht benutzt, weil ich nie eine Fragestellung hatte, bei der enum geholfen hätte. Da ich nun aber endlich eine Idee hatte, für die dieser Datentyp perfekt ist, wollte ich mal gucken, was die Arduino-Referenz dazu sagt. Doch dieser Datentyp ist dort gar nicht erwähnt. Warum eigentlich nicht?
Außerdem ein Frage, die mir mein C++-Buch nicht beantworten konnte: Wie werden enum-Werte intern repräsentiert? Ist die Anzahl unterschiedlicher Werte begrenzt?
Wieso ist die Arduino Referenz da so wichtig? Die ist gut für Arduino-spezifische Klassen und Funktionen. Alles andere kann man auch in normalen C und C++ Referenzen nachschlagen.
Die normalen C enums sind nicht viel anders als sequentielle #define Makros. Und der Standard Datentyp ist wie üblich auch int.
In C++11 gibt es auch "strongly typed enums" wo man den Typ angeben kann, die keinen globalen Scope haben und die sich nicht einfach in Integer konvertieren lassen.
EDIT: In C++11 kann man auch den Typ von klassischen C enums selbst angeben
Nein. Da ist das wichtigste aus Standard C/C++ aufgeführt und alles was die Arduino IDE hinzufügt. Da wird nicht mal die avr libc erklärt (sondern nur unten rechts verlinkt), obwohl man die oft braucht.
Ich sehe auch nicht den Sinn darin da ein allgemeines C/C++ Tutorial draus zu machen. Wobei man enum allerdings erklären könnte, wenn man schon const und #define aufführt.