`

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

 

分享到:
评论

相关推荐

    C++Primer读书笔记:C++概述.pdf

    C++Primer中文第三版(C++从入门到精通)第一章的读书笔记,主要是C++程序、预处理器指示符、iostream库等的基础知识点读书笔记。

    c++ primer 笔记整理

    首先,C++ Primer 笔记会涵盖C++的基础语法,包括变量、数据类型(如int、char、float等)、运算符(算术、比较、逻辑、位操作等)以及流程控制(如if语句、switch语句、for循环、while循环)。这些构成了任何编程...

    c++ primer笔记

    根据给定的信息,“c++ primer笔记”主要围绕经典著作《C++ Primer》展开,这是一本深受程序员喜爱的书籍,旨在帮助读者系统地学习和掌握C++编程语言的基础及高级特性。下面将从几个关键方面对C++的核心知识点进行...

    C++primer笔记

    ### C++ Primer 笔记知识点概述 #### 1. C++程序结构与文件类型 - **文件命名规范**:在C++中,程序文件通常包括两部分:文件名和文件后缀。文件后缀用于区分文件类型。 - **头文件**:一般以`.h`后缀结尾,这类...

    C++Primer笔记

    C++ Primer 笔记 本笔记基于 C++ Primer 的学习笔记,涵盖了友元函数、操作符重载、运算符重载、using 声明和引用等多个知识点。 友元函数 友元函数是一种特殊的函数,它可以访问类的私有成员。通过让函数成为类...

    C++Primer 笔记(不完整版)

    《C++ Primer 笔记》概述 C++ Primer 是一本深入学习C++语言的经典教材,这份笔记虽然不完整,但涵盖了书本的前十个章节,提供了关于C++基础语法和核心概念的概述。 1. **变量与初始化** - C++中未初始化的变量...

    C++Primer 读书笔记

    ### C++ Primer 读书笔记概览 #### 操作系统与主函数 - **主函数返回值的意义**:操作系统依据`main`函数返回的值来判定程序执行的状态,其中,0值意味着程序成功运行至结束。非零返回值,具体含义由操作系统定义...

    C++Primer习题集第五版 pdf

    C++ Primer习题集 第5版-Stanley B. Lippman_高清版[带完整书签目录] 【作 者】(美)李普曼,(美)拉乔伊,(美)默著 【出版发行】 北京:电子工业出版社 , 2015.03 【ISBN号】978-7-121-25229-7 【页 数】 520 ...

    C++Primer课程详细视频讲解

    该视频是关于C++ Primer 这本书的猎豹详细视频初级高级讲解 该视频是关于C++ Primer 这本书的猎豹详细视频初级高级讲解 该视频是关于C++ Primer 这本书的猎豹详细视频初级高级讲解 该视频是关于C++ Primer 这本书的...

    C++ Primer编程习题集(第5版).pdf

    C++ Primer编程习题集(第5版),有习题和编程代码,供自我检验使用

    C++ primer Plus的pdf资源

    C++ primer Plus的pdf资源

    C++Primer 习题解答(第4版)--绝对完整版

    《C++ Primer 习题解答(第4版)》是一本深入C++编程语言的实践指导书籍,由Lippman, Lajoie, 和 Moo三位专家编写。这本习题解答是针对C++ Primer(第四版)教材的,旨在帮助读者巩固和深化对C++的理解。在学习C++的...

    c++primer高清中文版-第5版.zip

    C++是一门强大、难学、令人痛苦,但又是如此美妙的编程语言,在工业界和学术界都可以使用,《C++ Primer(第5版)》即针对初学者,也同样适用于有一定编程经验的读者,第5版配备了C++11新标准,是C++粉丝们书架上...

    c++primer 学习笔记

    C++ Primer 是一本经典的C++学习书籍,涵盖了C++的基础知识和高级特性。这篇学习笔记主要涉及了C++编程的一些核心概念,包括程序结构、变量、基本类型、初始化与赋值、可读性、常量与引用、typedef、枚举以及标准库...

    C++Primer Plus附录源码等文件.zip

    《C++ Primer Plus》是Stephen Prata撰写的一本广受欢迎的C++编程教材,第六版提供了深入浅出的C++语言教程,旨在帮助初学者和有一定经验的程序员掌握这一强大的编程语言。附录中的源码文件是作者为配合书中的教学...

    C++ Primer 5th 英文高清版 (带完整目录)

    《C++ Primer 5th》是C++编程领域的一部权威著作,由Lippman、Lajoie和 Moo三位专家合著。这本书以其深入浅出的讲解方式和丰富的实例,深受程序员们的喜爱。5th版更是针对C++11、C++14和C++17标准进行了全面更新,...

    C++Primer中文版第5版.pdf

    C++Primer中文版第5版

    C++primer中文第五版

    《C++ Primer 中文第五版》是一本深受程序员喜爱的C++学习书籍,它全面而深入地介绍了C++编程语言的各个方面。这本书以其清晰的解释、丰富的实例和实用的建议,成为了初学者和有经验的程序员提升C++技能的重要参考...

Global site tag (gtag.js) - Google Analytics