1.1 指定された整数型が符号付きか否かを判定する。

これは簡単です。標準C++ライブラリには、numeric_limits というクラステンプレートがありますので、その静的データメンバ is_signed を参照すればよいだけです。numeric_limits クラステンプレートを使用するには、<limits> をインクルードする必要があります。

std::numeric_limits<type>::is_signed

使用例:

cout << "size_tは符号"
     << (numeric_limits<size_t>::is_signed ? "付" : "無") << endl;
cout << "ptrdiff_tは符号"
     << (numeric_limits<ptrdiff_t>::is_signed ? "付" : "無") << endl;

※ std:: は省略しています。


元ネタ
このエントリーを含むはてなブックマーク