Тип удержания в зависимости от размера C ++ - PullRequest
1 голос
/ 23 марта 2020

можно ли выбрать тип в зависимости от размера во время компиляции?

Неработающий прототип будет

template<typename T, typename U>
struct Bigger 
{
    using type = (sizeof(T) > sizeof(U)) ? T : U;  
};

1 Ответ

5 голосов
/ 23 марта 2020

Да, std::conditional_t может использоваться как "условный оператор" времени компиляции:

using type = std::conditional_t<(sizeof(T) > sizeof(U)), T, U>;
...