私のシステムでは、wchar_tとintは同じプロパティを持つ別個の型です。
#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
対照的に、ptrdiff_t
とlong int
は同じタイプです(同じプロパティであり、is_same
trueです)。
この明確さはwchar_t
保証されていますか?すべてのシステムでwchar_t
過負荷になっても安全ですか?int
区別するプロパティまたは他の場所wchar_t
に、対応するintプロパティはありis_same
ますか?
(システム情報:一般的なケースに興味がありますが、これまでのテストは、g++4.8.0とAppleclang++ 4.1を実行しているOSXマシンで行われ、どちらも-std = c ++ 11です。)