Auf meinem System wchar_t und int sind verschiedene Typen mit den gleichen Eigenschaften:Ist wchar_t garantiert von jedem Integer-Typ zu unterscheiden?
#include <type_traits>
sizeof(wchar_t) == sizeof(int) == 4
std::is_signed<wchar_t> == std::is_signed<int> == std::true_type
std::is_same<wchar_t, int> == std::false_type
Im Gegensatz dazu ptrdiff_t
und long int
identische Typen sind (gleiche Eigenschaften und is_same
wahr ist).
Ist diese Unterscheidbarkeit von wchar_t
garantiert? Ist es sicher, auf allen Systemen für wchar_t
und int
zu überlasten? Gibt es eine Eigenschaft in oder anderswo, die wchar_t
und die entsprechende int-Eigenschaft neben is_same
unterscheidet?
(Systeminfo: Ich interessiere mich für den allgemeinen Fall, aber meine Tests waren bisher auf einem OS X-Rechner mit g ++ 4.8.0 und Apple Clang ++ 4.1, beide mit -std = C++ 11.)
Kurz, süß und auf den Punkt. Ich werde die Antwort akzeptieren, sobald SO es mir erlaubt. – addaon