这有意义吗?
static_cast<long long>(1) == 1LL
static_cast<float>(1) =? 1F
Run Code Online (Sandbox Code Playgroud)
是否有一种简短的方法可以为其他类型的浮雕制作?非常感谢你!
从C++ 11开始,您可以定义自己的文字.例如,您可以_F像这样定义文字:
float operator"" _F(unsigned long long l)
{
return static_cast<float>(l);
}
int main()
{
auto a = 1_F;
static_assert(std::is_same<decltype(a), float>::value, "Not a float");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这个答案描述了C++ 11.用户定义的文字和某些类型在该语言的历史版本中不存在.
整型常量可以从一无所有结束,L,LL,U,UL或ULL给人一种类型的int,long,long long,unsigned int,unsigned long或unsigned long long分别.如果你愿意,这些可以是小写的; 如果需要表示该值,实际类型可能比指定的宽.
浮点文本可以与什么都没有,结束F或L给人一种类型的double,float或long double分别.如果你愿意的话,这些可以是小写的.
字符和字符串可以从一无所有开始,u,U或者L,给人一种字符类型char,char16_t,char32_t或wchar_t分别.字符串也可以从u8表示charUTF-8编码的字符类型开始.
您还可以定义自己的用户定义的文字来制作任何类型的文字,如果您发现123_km更可读的奇怪的东西kilometres(123).我没有看到这一点,但如果你有兴趣,有人发了一个例子.
| 归档时间: |
|
| 查看次数: |
103 次 |
| 最近记录: |