C++ Tutorial

Anhang H: Eigenschaften von Datentypen

Kleines Beispielprogramm zur Ermittlung einiger Eigenschaften von Datentypen (Anwendung siehe Kommentar in main()).

// Ermittelt einige Eigenschaften von Datentypen
#include <iostream>
#include <limits>
using std::cout;
using std::endl;
using std::boolalpha;

// Ausgabe einiger Kenndaten für numerische Datentypen
template<typename T>
void PrintNumLimits()
{
   // bool-Werte als true/false ausgeben anstelle von 1/0
   cout << boolalpha;
   // Überpruefen ob Kenndaten vorliegen
   if (std::numeric_limits<T>::is_specialized == 0)
   {
      cout << "keine numeric_limits Angaben vorhanden!\n";
      return;
   }
   // Kenndaten ausgeben
   cout << "Min: " << std::numeric_limits<T>::min();
   cout << "\nMax: " << std::numeric_limits<T>::max();
   cout << "\nAnzahl Bits (ohne Vorzeichen):" << std::numeric_limits<T>::digits;
   cout << "\nVorzeichenbehaftet: " << std::numeric_limits<T>::is_signed;
   cout << "\nInteger: " << std::numeric_limits<T>::is_integer;
   cout << "\nkeine Rundungsfehler moeglich: " << std::numeric_limits<T>::is_exact;
   cout << "\nkleinster von 1 abweichender Wert: " << std::numeric_limits<T>::epsilon() << endl;
  }

int main()
{
   // Innerhalb der spitzen Klammer den Datentyp angeben,
   // für den die Kenndaten ausgegeben werden sollen
   PrintNumLimits<unsigned long>();
}

Copyright 2024 © Wolfgang Schröder
E-Mail mit Fragen oder Kommentaren zu dieser Website an: info@cpp-tutor.de
Impressum & Datenschutz