我如何创建特征来给我两种中较大的一种? [重复]

问题描述 投票:0回答:1

我需要检查一种类型是否大于另一种类型,然后有条件地使用一种类型或另一种类型。以字节为单位。

类似这样的东西(伪代码):

template<typename T, typename U>
using Larger = sizeof(T) > sizeof(U) ? T: U; // ??

我们假设两种类型都是带符号的,无符号的浮动类型。

c++ typetraits
1个回答
3
投票

您几乎拥有它!

#include <type_traits>

template <typename T, typename U>
using Larger = std::conditional_t<(sizeof(T) > sizeof(U)), T, U>;
© www.soinside.com 2019 - 2024. All rights reserved.