1) is any of these faster than the other at runtime? which and why?
2) does this occur at compile time or runtime?
unsigned short operator"" _ushort( unsigned long long arg ){ return arg; }
unsigned short my_var = 0x1234; // using type and literal
auto my_var = unsigned short(0x1234); // using auto and casting literal to type
auto my_var = 0x1234_ushort; // using auto and user defined literal to cast
edit: does using constexpr help it?
constexpr unsigned short operator"" _ushort( unsigned long long arg ){ return arg; }