`

C++primer 笔记2.9

阅读更多

2.9编写自己的头文件

为了允许把程序分成独立的逻辑块,C++支持所谓的分别编译(separatecompilation)。这样程序就可以由多个文件组成。

头文件为相关类的生命提供了一个集中存放的位置。头文件一般包含类的定义、extern 变量的生命和函数的生命。头文件的正确使用有两个好处:保证所有的文件使用给定实体的同一个生命;当声明需要修改的时候,只有头文件需要更新。

 

头文件用于声明而不是定义。定义只可以出现一次,而晟敏个可以出现多次。因为头文件会包含在多个源文件中,所以不应该包含有变量或者函数的定义。

有三个例外:类类型的定义、值在编译时就已经知道的const对象和inline函数

2.9.2预处理器简介

2.避免多重包含

在编写头文件之前我们需要引入一些额外的预处理设施。预处理器允许我们自定义变量。

预处理变量的名字在程序中必须是唯一的。

为了避免名字冲突,预处理器经常全部用大写字母表示。预处理器变量有两种状态:已经定义和未定义。定义预处理器变量和检测其状态的预处理器指示不同。#define 指示接受一个名字并定义改名字为预处理器变量。#ifndef指示检测制定的预处理器变量是否定义。如果预处理器变量未定义,那么跟在后面的所有指示都被处理。知道出现#endif。

可以使用这些设施来预防多次包含同一个头文件:

#ifndef SALSITEM_H
#define SALSEITEM_H
//definition of Salse_item class and related  function goes here
#endif

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics