C++学习笔记:表达式、作用域与字符串操作

需积分: 9 1 下载量 41 浏览量 更新于2024-08-31 收藏 20KB DOCX 举报
“C++读书笔记自学的总结” 在学习C++的过程中,理解表达式和作用域是基础。表达式是程序中的基本单元,通常由运算符和操作数组成。例如,“<<”是一个输出运算符,它用于将操作数(如字符串“hello world”)送入标准输出流std::cout。在C++中,`::`是作用域解析运算符,用来访问特定命名空间内的成员,如std::cout表示在标准库std内的cout对象。 课后习题的解答展示了如何正确输出特殊字符,如双引号和反斜杠。在C++中,反斜杠`\\`用于转义,所以要输出一个反斜杠,我们需要写成“\\”。同样,输出双引号时需要写成`\“`。示例代码是:`cout<<”This(\“)isaquote,andthis(\\)isabacklash.”<<endl;` 字符串在C++中是一个重要的概念,可以通过不同的方式初始化。例如,可以使用加号`+`来连接字符串和字符串直接量,但不能直接连接两个字符串直接量。`string str1 = “123”; string str2 = “000” + str1 + “000”;` 这里的`+`运算符被重载以实现字符串拼接。 初始化字符串还有其他方式,比如定义空字符串`string s;`,或者通过赋值构造函数来创建字符串`string t = s;` 或 `string t = “hello”`。此外,可以指定长度和字符初始化字符串,如`string t(10,’*’);` 创建一个长度为10、全由星号(*)组成的字符串。 在处理字符串时,使用`string::size_type`这样的无符号整型是推荐的,因为它可以容纳任何大小的字符串长度,避免了可能导致整型溢出的问题。例如,`size_type`可以安全地处理包含数十万字符的字符串,即使在16位系统上。 在输入输出中,多个相邻的字符串直接量会被自动连接,简化了代码。例如,`cout << "Enter all your homework grades," "followed by end-of-file:" << endl;` 等同于将它们合并为一行。 控制浮点数输出的精度也很关键,`cout.precision()` 和 `setprecision()` 函数用于设定浮点数的显示位数。如`setprecision(3)`会使得后续输出的浮点数保留三位小数。 在组织程序和数据时,非const引用是一个强大的工具。非const引用允许我们创建一个别名,它不能改变引用本身,但可以修改所引用的对象。这在传递参数和返回值时特别有用,因为它确保了对原始对象的修改。例如,函数参数声明为非const引用,意味着函数可以修改传入的参数值。 C++的学习涵盖了许多方面,从基本的表达式和作用域,到字符串操作,再到输入输出和程序结构。理解和熟练掌握这些知识点是成为C++程序员的基础。通过不断练习和深入学习,可以逐步构建起坚实的语言基础。