C++编程思想笔记:声明与定义差异、函数声明与C++区别

需积分: 1 0 下载量 189 浏览量 更新于2024-09-11 收藏 220KB PDF 举报
本文档主要分享了关于C++编程思想的学习笔记,作者通过阅读《C++编程思想》一书,提炼出了一些关键知识点,以便于读者理解和掌握C++编程的精髓。以下是对笔记内容的详细解读: 1. 声明与定义的区别:在C++中,声明和定义是两个不同的概念。声明是告诉编译器关于标识符的信息,例如使用关键字`extern`表示变量只是被声明,而没有为其分配内存,真正的初始化和存储是在其他地方完成的。定义则是给标识符分配内存,并可能提供初始值。 2. 函数声明的差异:在C语言中,像`int func()`这样的声明暗示了一个可以接受任意数量和类型的参数的函数,这可能会导致类型检查的不准确。但在C++中,这种声明实际上是表示一个不带参数的函数,强调了类型安全的重要性。 3. 名字空间与头文件:`<iostream.h>`在C++中已被弃用,正确的用法是`<iostream>`。使用`using namespace std;`可以避免频繁写出`std::`前缀,但要确保在大型项目中合理管理命名空间以防止名称冲突。 4. C预处理器的应用:预处理器允许在源代码中进行字符串连接,如`#include`指令的拼接,以及利用`#define`进行宏替换。在实际编程中,这种功能有助于简化代码和处理文本数据。 5. for循环语句的执行顺序:for循环在C++中的执行顺序是固定的,即先执行`statement1`,然后`statement2`作为条件判断,接着执行`statement4`,最后执行`statement3`并更新条件,如此循环,直到`statement2`为假。 6. switch语句的理解:switch语句在C++中支持整型、字符型和bool类型的表达式作为选择器。它不支持实类型,如float和double。在给出的例子中,通过位运算符`&`,switch会根据len的低几位进行判断。如果没有括号,case的匹配会先执行,然后跳入对应的case块,直到匹配结束或者执行完所有case后的`default`块。在本例中,case语句都在while循环内,因此会按顺序执行,直到while条件不再满足。 通过这些笔记,读者可以了解到C++编程语言的基础规则,包括变量声明与定义、函数声明的规范、名字空间的使用、预处理器的实用技巧,以及控制结构如for和switch的执行机制。这些知识点对于理解C++的编程范式和提高编程技能至关重要。如有疑问或需要进一步讨论,作者提供了电子邮件地址供交流。