Einzelnen Beitrag anzeigen

Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: inc bei ordinären Typen(kein Ende in sicht)

  Alt 3. Jan 2008, 01:11
Es sind übrigens ordinale Typen, nicht ordinär.

Ein enum kann auch Werte außerhalb des Wertebereichs haben. Es ist deine Aufgabe, das zu verhindertn.

IIRC sind enums übrigens normalerweise keine Integers, sondern Cardinals. Welcher Cardinal hängt von der Anzahl der Elemente ab. Bis 256 Elemente ist es ein Byte, bis 65536 Elemente ein Word usw. Wobei es vermutlich selten Fälle gibt, in denen 65536 Elemente überschritten werden.

Das gilt natürlich nur für enums, denen nicht spezielle Werte zugewiesen wurden. (Also z.B. (bla=42, wuppdi=123456)). Außerdem kann es sein, dass der Compiler in records oder Klassen je nach Ausrichtungsoptionen immer ein LongWord (d.h. 32 Bit Cardinal) draus macht.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat