C++编程思想阅读笔记:声明与定义、函数差异、名字空间等解析

需积分: 10 0 下载量 175 浏览量 更新于2024-10-08 收藏 218KB PDF 举报
"《C++编程思想》阅读笔记" 这篇笔记是基于《C++编程思想》这本书的内容,作者分享了他在阅读过程中的理解和心得,旨在帮助C++初学者更好地理解和应用C++语言的关键概念。 1. 声明与定义的区别 在C++中,声明告诉编译器有关标识符的信息,比如变量、函数等的存在,而定义则是为标识符分配存储空间,即实际创建对象。例如,使用`extern`关键字声明变量,但不分配内存,而定义变量时,如`int x;`,则会为`x`分配内存。 2. 空参数列表的函数声明 在C语言中,`int func();`声明的函数可以接受任意数量和类型的参数,这对类型检查造成困扰。但在C++中,这样的声明表示函数没有参数,这是一种更严格的类型检查机制。 3. 名字空间的使用 在C++中,`#include <iostream.h>`在老版本的C++中常见,但现在推荐使用`#include <iostream>`,并且通常会加上`using namespace std;`来使用标准C++库,其中包含了如`cout`、`cin`等IO流对象。 4. C预处理器的功能 C预处理器的一个关键作用是字符串连接,如示例所示,多行字符串可以通过连接操作合并为一个字符串,这在编写源代码时非常有用,可以使代码更易读。 5. `for`循环的执行顺序 `for`循环的结构是`for (statement1; statement2; statement3) statement4;`,执行顺序是:先执行`statement1`,然后检查`statement2`,如果为真,则执行`statement4`,接着执行`statement3`,然后再回到`statement2`,如此循环,直到`statement2`为假。 6. `switch`语句 `switch`语句用于条件分支,它可以接受整型、字符型或`bool`型的表达式作为选择器。在给出的例子中,`switch(len & 0x7)`用位运算判断长度,然后根据不同的情况执行相应的代码。需要注意的是,即使没有大括号包围`case`语句,`case`后面的代码也会一直执行到下一个`break`为止,或者到`switch`结束。 这些笔记涵盖了C++的基础语法和高级特性,包括声明与定义的区分、函数声明的细节、名字空间的使用、预处理宏的作用以及流程控制语句的执行逻辑,对于学习C++的人来说,是很好的参考资料。通过深入理解这些知识点,能够提升对C++编程的理解和实践能力。