Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Variable Konstantennamen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
08.11.2006, 14:54 Uhr
~pking
Gast


Ich soll ein Programm schreiben, um die Darstellungsbereiche der einzelnen Datentypen auszugeben. Nun habe ich keine Lust das für jeden einzelnen zu machen und habe die Namen der Typen (INT, DBL, etc.) in ein Array geschrieben.

Gibt es nun eine möglichkeit, wie ich diese Werte zu mit dem _MAX, bzw. _INT zusammensetzten kann, dass ich auf den Wert von z.B. INT_MAX zugreiffen kann?


Gruss pking
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
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
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
08.11.2006, 20:04 Uhr
~p0llux
Gast


Danke, mit der ersten Möglichkeit wird es klappen.

Ein weiteres Array wollte ich nicht machen, sonst hätte ich für so eine kleine Aufgabe gleich alles ausschreiben können.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
08.11.2006, 20:08 Uhr
stephanw
localhorst


Wäre nicht std::numeric_limits<T> die beste Wahl für sowas ?
--
Reden ist Schweigen und Silber ist Gold.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: