我需要检查一种类型是否大于另一种,然后有条件地使用一种类型或另一种类型。以字节为单位。
像这样(伪代码):
template<typename T, typename U>
using Larger = sizeof(T) > sizeof(U) ? T: U; // ??
我们假设这两种类型都是有符号的、无符号的浮点类型。
你几乎拥有它!
#include <type_traits>
template <typename T, typename U>
using Larger = std::conditional_t<(sizeof(T) > sizeof(U)), T, U>;
std::conditional
是有条件地选择类型所需要的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句