目录
1、原始字面量
在 C++11 中添加了定义原始字符串的字面量,定义方式为:R “xxx(原始字符串)xxx” 其中()两边的字符串可以省略。原始字面量 R 可以直接表示字符串的实际含义,而不需要额外对字符串做转义或连接等操作。
void CplussVersion11::R_Test()
{
//原始字面量 R “xxx (raw string) xxx”,()两边的字符串在解析的时候是会被忽略的
//因此一般不用指定。如果在()前后指定了字符串,那么前后的字符串必须相同,否则会出现语法错误
std::string str = "D:\hello\world\test.text";
std::cout << str << std::endl;
std::string str1 = "D:\\hello\\world\\test.text";
std::cout << str1 <<std::endl;
std::string str2 = R"(D:\hello\world\test.text)";//避免转义\ 跨行等R"(STR)"
std::string str3 = R"test(\n\r\t\m\s\o\p\)test";
std::cout << str2 <<std::endl<<str3<<std:: endl;
}

2、long long型
C++11 标准要求 long long 整型可以在不同平台上有不同的长度,但至少有64位。long long 整型有两种表示 long long 与long long int signed long long signed long long int等价
long long num1 = 123456789LL;//longlong型数据可以用LL或者ll进行后缀表示
long long num2 = 123456789ll;
unsigned long long - 对应类型的数值可以使用 ULL(大写) 或者 ull(小写) 或者 Ull、uLL(等大小写混合)后缀;等价于unsigned long long int
unsigned long long num3 = 123456781234ull;
std::cout << num1 << std::endl << num2 << std::endl << num3 << std::endl;
同其他的整型一样,要了解平台上 long long 大小的方法就是查看 <climits>(或 <limits. h> )中的宏与 long long 整 型相关的一共有 3 个: LLONG_MIN - 最小的 long long 值 LLONG_MAX - 最大的 long long 值 ULLONG MAX - 最大的 unsigned long long 值
std::cout << LLONG_MAX << std::endl
<< LLONG_MIN << std::endl
<< ULLONG_MAX << std::endl;
C++11 中一共只定义了以下 5 种标准的有符号整型:同时每一种整形对应有相同长度的无符号整型 signed char short int int long int long long int
std::cout << "SCHAR_MAX"<<SCHAR_MAX << " "<<"SCHAR_MIN"<<SCHAR_MIN<< std::endl;
std::cout << "UCHAR_MAX" << UCHAR_MAX <<std::endl;
std::cout << "LONG_MAX" << LONG_MAX << " " << "LONG_MIN" << LONG_MIN << std::endl;
如果参与运算的数据或者传递的参数类型不匹配,整型间会发生隐式的转换,这种过程通常被称为整型的提升。 比如如下表达式∶(int)num1 + (long long)num2 长度越大的整型等级越高,比如 long long int 的等级会高于 int。 长度相同的情况下,标准整型的等级高于扩展类型,比如 long long int 和 int64 如果都是 64 位长度,则 long long int 类型的等级更高。 相同大小的有符号类型和无符号类型的等级相同,long long int 和 unsigned longlong int 的等级就相同。 转换过程中,低等级整型需要转换为高等级整型,有符号的需要转换为无符号整形。

3、类初始化新特性
在进行

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



