第7章 指针、数组与引用
1.void*的含义是“指向未知类型对象的指针”(除了函数指针和指向类成员的指针)。
2.空指针nullptr,可赋给任意指针类型,但不能赋给内置类型。
3.原始字符串字面值常量,R"(ccc)"表示字符串ccc,转义字符不起作用
I. string s=R"(\w\\w)";
II. string s=R"***(quottt ("))")***",还可以在(之前和)之后加其他分隔符,此处s为quottt ("))"。(规则:括号之前与之后的分隔符必须完全一致)
III. 允许出现换行
string counts {R"(1
22
333)"};
等价于string x {“1\n22\n333”};
4.大字符集:前缀是L的字符串(比如L“angst”)由宽字符组成,它的类型是const wchar_t[]。类似的,前缀是LR的字符串(比如LR“(angst)”)也是由宽字符组成的,它的类型同样是const wchar_t[],它属于原始字符串字面值常量。这样的字符串以L’\0’结束。
5.引用****
I.左值引用:引用那些希望改变值的对象,如int var=1; int& r {var};
II.const引用:引用那些不希望改变值的对象
III.右值引用:所引对象的值在我们使用之后就无须保留了(比如临时变量)