float f { 4.1f }; // use 'f' suffix so the literal is a float and matches variable type of float double d { 4.1 }; // change variable to type double so it matches the literal type double
要使用八进制文字,请在文字前面加上 0(零):
1 2 3 4 5 6 7 8 9
#include<iostream>
intmain() { int x{ 012 }; // 0 before the number means this is octal std::cout << x << '\n'; return0; } //10
在 C++14 及以上版本中,我们可以通过使用 0b 前缀来使用二进制文字:
1 2 3 4 5 6 7 8 9 10 11 12
#include<iostream>
intmain() { int bin{}; // assume 16-bit ints bin = 0b1; // assign binary 0000 0000 0000 0001 to the variable bin = 0b11; // assign binary 0000 0000 0000 0011 to the variable bin = 0b1010; // assign binary 0000 0000 0000 1010 to the variable bin = 0b11110000; // assign binary 0000 0000 1111 0000 to the variable
默认情况下,双引号字符串文字是 C 样式字符串文字。我们可以通过在双引号字符串文字后面使用 sv 后缀来创建类型为 std::string_view 的字符串文字。 sv 必须小写。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
#include<iostream> #include<string>// for std::string #include<string_view>// for std::string_view
intmain() { usingnamespace std::string_literals; // access the s suffix usingnamespace std::string_view_literals; // access the sv suffix
std::cout << "foo\n"; // no suffix is a C-style string literal std::cout << "goo\n"s; // s suffix is a std::string literal std::cout << "moo\n"sv; // sv suffix is a std::string_view literal