C++ Primer中文版:理解预处理器指示符与名字空间

需积分: 46 34 下载量 105 浏览量 更新于2024-08-09 收藏 4.25MB PDF 举报
本篇文章主要介绍了C++编程中的预处理器指令——`#include`,它是C++程序设计的基础组成部分。预处理器指令负责将外部库或头文件的内容引入到程序中,使得我们能够使用标准库函数如`iostream`中的功能。在C++中,`cout`这样的库函数默认是在`std`命名空间中声明的,因此在实际编程中,我们需要通过`#include <iostream>`来包含这个命名空间,以便在程序中直接使用。 `using namespace std;`是一个称为`using`指示符(或称为`using directive`)的语句,它告诉编译器我们在当前作用域内使用`std`命名空间内的所有标识符,避免每次引用这些函数时都需要写全命名空间。然而,并非所有C++实现都支持命名空间,如果使用的是不支持此功能的编译器,那么可能需要省略`using`指示符。 文章提到,要编译C++程序,如`prog1.c`,在Unix系统中,通常使用`CC prog1.C`命令,其中`CC`是编译器的名称,但具体实现可能会因操作系统和工具链的不同而有所差异。对于那些使用不支持命名空间的C++实现编写的代码,大部分例子会省略`using`指示符以保持兼容性。 此外,文章还强调了C++作为一门编程语言的双重特性:一方面,它有着悠久的历史和广泛的应用,是计算机软件领域中最流行的编程语言之一;另一方面,自1998年起,随着ISO标准的发布,C++逐渐走向统一,标准库的出现为其使用者提供了基础框架,使得代码具有更好的可移植性和一致性。 翻译者潘爱民和张丽强调,虽然C++可能被认为是C语言的扩展,但通过阅读《C++ Primer》这样的权威教材,可以重新审视并全面理解C++语言,尤其是对于那些对C++有长期使用经验的人来说,这本书可以帮助纠正误解,深入理解其标准和背后的原理。两位作者Stanley B. Lippman和Josée Lajoie的专业背景,分别来自C++实现与应用和标准制定,使得本书成为理解和掌握C++的权威指南。尽管市面上有很多优秀的C++书籍,但《C++ Primer》凭借其深度和与标准的紧密结合,仍具有独特的价值。