我有一个只能为标量类型(整数、浮点数等)实例化的模板类,我希望成员 typedef 始终是该类型的有符号变体。那是:
unsigned int-> signed int
signed long long-> signed long long(已经签名)
unsigned char-> signed char
float-> float
long double->long double
等等...
不幸的是,std::make_signed仅适用于整数类型,不适用于浮点类型。最简单的方法是什么?我正在寻找某种形式的东西,using SignedT = ...;成为我的模板化类的一部分,模板参数 T 已经保证是标量。