7
有沒有辦法在C++中得到一個帶符號整型的無符號等價(相同大小)?我沿線的思考:如何獲得在C++中的整型無符號等價物?
template<typename T>
struct get_unsigned { };
template<>
struct get_unsigned<int> {
typedef unsigned int type;
};
...
template<typename T>
void myfunc(T val) {
get_unsigned<T>::type u = std::abs(val);
...
}
我正在尋找在標準庫或加速現有的解決方案,並且不希望推出自己的,除非它是線的屈指可數。
這已被添加到C++ 11中的stdlib,可以預見爲'std :: make_unsigned':http://www.cplusplus.com/reference/type_traits/make_unsigned/ – 2016-08-29 12:19:40