我需要检查一种类型是否大于另一种类型,然后有条件地使用一种类型或另一种类型。以字节为单位。
类似这样的东西(伪代码):
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>;