001
08.11.2006, 17:50 Uhr
0xdeadbeef
Gott (Operator)
|
Nein, jedenfalls nicht zur Laufzeit, da kennt das Programm nämlich das Symbol INT_MAX nicht mehr. Was geht, ist
| C++: |
#define MAX_VALUE(TYPE) (TYPE##_MAX)
|
...allerdings schreibst du dann bloß MAX_VALUE(DBL) statt DBL_MAX, was wenig Sinn macht. Wenn du das ganze zur Laufzeit adressieren willst, musst du die Konstanten selbst in ein Array schreiben, also
| C++: |
unsigned long *integral_max_values[] = { INT_MAX, UINT_MAX, LONG_MAX, ULONG_MAX };
|
...und halt entsprechend für Fließkommazahlen mit double*. Da kannst du dann mit nem Index drüberlaufen. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra |