您将如何编写(在C/C++中)一个宏来测试整数类型(作为参数给出)是签名还是未签名?
#define is_this_type_signed (my_type) ...
ChrisN.. 39
在C++中,使用std::numeric_limits
.
#includestd::numeric_limits ::is_signed - returns true std::numeric_limits ::is_signed - returns false
请参阅http://msdn.microsoft.com/en-us/library/85084kd6(VS.80).aspx.
在C++中,使用std::numeric_limits
.
#includestd::numeric_limits ::is_signed - returns true std::numeric_limits ::is_signed - returns false
请参阅http://msdn.microsoft.com/en-us/library/85084kd6(VS.80).aspx.
如果您想要的是一个简单的宏,这应该可以解决问题:
#define is_type_signed(my_type) (((my_type)-1) < 0)