C++ Primer学习精华笔记

需积分: 3 3 下载量 2 浏览量 更新于2024-07-30 2 收藏 142KB DOC 举报
C++ Primer 笔记 这篇笔记主要涵盖了C++编程的基础知识,包括C++程序的构成、预处理器指示符及其应用。作者强调了在C++编程中理解和使用名字空间、头文件以及预处理器的重要性。 1. C++程序结构 C++程序由一个或多个源文件组成,源文件通常以.cpp为扩展名。头文件,以.h为扩展名,包含了函数声明和其他全局声明。在C++中,标准库的函数和类型都定义在名为`std`的名字空间内,因此在使用它们时需要通过`using`关键字引入,例如`using namespace std;`,否则需要使用作用域解析运算符`::`来访问,如`std::cout`。 2. 预处理器指示符 预处理器是C++编译过程的一部分,它处理以`#`开头的指令。`#include`指令用于将其他文件的内容插入到当前文件中,有两种形式:`#include <file>`用于标准库或系统头文件,编译器会在预设的路径中查找;`#include "file"`用于用户自定义的头文件,编译器首先在当前文件所在目录查找。为了避免头文件被多次包含,可以使用`#ifndef`、`#define`和`#endif`构成的条件编译块,确保每个头文件只被处理一次。 3. 防止头文件重复包含 `#ifndef`和`#define`组合使用可以避免头文件被重复包含。例如,`#ifndef BOOKSTORE_H`会检查常量`BOOKSTORE_H`是否已定义,如果没有,就定义它并继续处理头文件的内容;如果已经定义,就跳过这部分内容。`#ifdef`指示符则用于检查一个预处理器常量是否已被定义,这在条件编译中非常有用。在编译时,可以使用`-D`选项来定义预处理器常量。 4. 编译器选项和环境变量 用户可以通过设置环境变量或在编译命令行中添加选项来控制编译器的搜索路径,例如指定包含文件的目录,这适用于自定义的头文件位置。 这篇笔记对于初学者来说是非常有价值的,它清晰地介绍了C++编程的基本元素,特别是预处理器的概念和使用,这对于理解C++程序的构建和编译过程至关重要。深入学习这些基础知识,有助于开发者编写更高效、更健壮的C++代码。