我有一个模板化的类,只能为标量类型(整数,浮点数等)实例化,我想要一个成员typedef始终是类型的签名变体。那就是:std :: make_signed接受浮点类型
unsigned int
- >signed int
signed long long
- >signed long long
(已签署)
unsigned char
- >signed char
float
- >float
long double
- >long double
etc ...
不幸的是,std::make_signed
只适用于整型类型,而不是浮点类型。什么是最简单的方法来做到这一点?我正在寻找using SignedT = ...;
的形式,作为我的模板类的一部分,模板参数T已经保证是标量。
我更喜欢用'std :: common_type'来创建自己的'identity'类;} –
2013-05-04 19:21:11
+1,'using'很方便,我需要最后更新我的编译器:) – jrok 2013-05-04 19:31:55