0x01 使用字符的规定
有两类字符程序员不可直接使用:
1、不可打印字符,例如退格、换行等不可见字符;
2、C++中有特殊含义的字符(单引号、双引号、问号、反斜线)。
这些情况下需要用到转义序列才能使用这些字符。
转义序列都是以反斜线作为开始。
0x02 C++规定的转义序列
上表中的转义序列在程序中被当作一个字符使用:
std::cout << '\n'; //换行
std::cout << "\tHi!\n"; //输出一个制表符Tab,再输出Hi!然后换行
0x03 泛化的转义序列
可以在程序中使用泛化的转义序列,形式是\x后面紧跟一个或多个十六进制的数字,或者\后紧跟一个、两个或三个八进制数字,其中数字部分表示的是字符对应的数值。价格使用的是Latin-1字符集,示例如下:
\7 (响铃)
\12 (换行符)
\40 (空格)
\0 (空字符)
\115 (字符M)
\x4d (字符M)
1、转移序列可以像普通字符一样自由混合使用:
std::cout << "Hi \x4dO\115!\n"; //输出Hi MOM!然后换行
std::cout << '\115' << '\n'; //输出M然后换行
2、必须注意!如果反斜线\后面跟着的八进制数字超过3个,那只有前3个数字与\构成转义序列:
std::cout << '\1154' << '\n'; //输出M4然后换行
3、还要注意!\x要用到后面跟着的所有数字!例如\x1234表示一个16位的字符。
-----------(我是分割线)-----------
这里的学习顺序基于《 C++ Primer(第五版)》,虽说这本书是C++神书,但如果没有一定的C语言基础,肯定很难一下子啃下来,特别是原书第一章说编写一个简单的程序,结果各种语句和输入输出流都出现了,最后还来个类简介,实在是有点让新手朦逼。就算有一定的C++基础,中文版的语言也略显拗口。
所以,我建议可以先用谭浩强的C/C++系列高校用书籍来打个基础。先别管网上对谭教授的教材评价如何,至少它能高效地带你入门。直接学习C++不是不可以,但毕竟c语言是一门经典的计算机语言,经久不衰,还衍生出了很多其他的计算机语言。学好C语言能培养出一种理解计算机语言的思维模式,以后学其他语言都可能事半功倍。
我个人的学习方式是“先看懂,后深入,再高效”。在这里会按照我的理解,尽量用简单的语言来解释C++的知识点,至少先看懂并让程序能用再说。如果有错欢迎指正。
文中可能有某些程序段来自pezy大神,自学C++的路上我有很多疑难都是在pezy大神的解释中顿悟。在此表示感谢!
任何地方如有侵权请立即联系删除。
-----------(我是分割线)-----------