データ型 (インデックスとして使用される) を探しています。32 ビット OS では 16 ビット、64 ビット OS では 32 ビットである必要があります。私はVS2010を使用しており、HALF_PTRを使用できることは認識していますが、インデックスに使用するとうまく聞こえず、より意味のある名前にtypedefできますが、その前に使用できる定義済みのデータ型がありますこの目的?
質問する
122 次
1 に答える
5
特性を使用して、システムに適した型エイリアスを作成できます。
#include <cstdint>
template <unsigned int> struct HalfPtrImpl;
template <> struct HalfPtrImpl<4> { typedef uint16_t type; };
template <> struct HalfPtrImpl<8> { typedef uint32_t type; };
typedef HalfPtrImpl<sizeof(uintptr_t)>::type HalfPtr;
今HalfPtr
あなたのタイプとして使用してください。
(上記を数回使用することでショートカットできstd::conditional
ます。この猫の皮を剥ぐ方法はたくさんあります。)
于 2013-10-22T21:13:29.843 に答える