我是靠谱客的博主 失眠电源,最近开发中收集的这篇文章主要介绍c++头文件怎么写,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

9.1 单独编译

c++鼓励程序员将组件函数放在独立的文件中。可以单独编译这些文件,然后将他们链接成可执行文件。如果只修改了一个文件,则可以只重新编译该文件,然后将它与其他文件的编译版本重新链接。
一个非常有用的组织程序的策略是把程序分成三部分:

  • 头文件:包括结构声明和使用这些结构的函数的原型。头文件一般包含类的定义、
    extern 变量的声明和函数的声明.
  • 源代码文件:包含与结构有关的函数的代码。
  • 源代码文件:包含调用上述函数的代码(主函数)。

不要把函数的定义和变量的定义放在头文件中。因为c++有单定义规则,变量只能有一次定义。如果在头文件中包含一个函数定义,然后在其他2个文件中包含该文件,则咋一个程序中将包含同一函数的2次定义,除非函数是内联的,否则将出错。

变量的声明和定义:我有一个误区,就是认为int a;是声明,而int a = 1;是定义。实际上2者都是定义,后者不仅定义了还初始化了。所以二者都不能出现在头文件中。可以使用extern int a;声明变量。具体内容参阅变量的声明和定义

下面列出了头文件常包含的内容:

  • 函数原型
  • 使用#define或const定义的符号常量
  • 结构声明
  • 类声明
  • 模板声明
  • 内联函数
头文件中的 #ifndef 和 #endif
在同一文件中不能包含一个头文件2次,这很容易记住。但是很可能在不知情的情况下将头文件多次包含。例如,可能使用一个包含另一个头文件的头文件。为了解决这个问题,可以参考下面的代码。这段代码意味着仅当以前没有使用预处理器编译指令#define定义名称COORDIN_H_时,才处理#ifndef和#endif之间的语句。
#ifndef COORDIN_H_
#define COORDIN_H_
...
#endif

编译器首次遇到该文件时,名称COORDIN_H_没有定义(根据include文件名来选择名称,大写,并加上下划线,以创建一个在其他地方不太可能定义的名称)。这种情况下,编译器将查看#ifndef和#endif中间的内容(这正是我们想要的),并读取定义COORDIN_H_的一行。如果同一文件遇到包含其他coordin.h的代码,编译器将知道COORDIN_H_已经定义了,从而跳到#endif后面一行。

最后

以上就是失眠电源为你收集整理的c++头文件怎么写的全部内容,希望文章能够帮你解决c++头文件怎么写所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部