だから私はこの本当に醜いコードを持っています:
template <typename T>
std::conditional_t<sizeof(T) == sizeof(char),
char,
conditional_t<sizeof(T) == sizeof(short),
short,
conditional_t<sizeof(T) == sizeof(long),
long,
enable_if_t<sizeof(T) == sizeof(long long),
long long>>>> foo(T bar){return reinterpret_cast<decltype(foo(bar))>(bar);}
ネストされたconditional_t
s を使用して、ある種のケースステートメントを作成しています。これをよりエレガントに実現するものはありますか、それとも独自のテンプレート化されたケースステートメントを作成する必要がありますか?
reinterpret_cast
注: この の使用が悪いことを実際に認識しています。