[c++ 温故知新] c++ 头文件和cpp文件关系
来源:互联网 发布:广联达定额计价软件 编辑:程序博客网 时间:2024/05/18 07:07
上学的时候,学习c++接触到头文件和cpp文件。一开始始终无法理解,为什么会有这两种文件,这两种文件有啥作用?
简单理解的话:
头文件中存放函数的声明,cpp文件中存放定义
为何在头文件不放置函数或者变量定义呢?
1.当程序在编译过程中,编译器是吧代码进行扫描,查看代码语法是否正确,生成.o文件
2.程序生成二进制文件时,会将.o文件进行链接,此时如果在不同的.o文件中存在相同的符号,就会报重复定义的错误
因此如果在头文件中放置函数或变量定义,假如该头文件被多个cpp文件引用的话,当连接的时候就会发生重复定义错误(假设头文件中定义的函数变量都有外部属性)
通过上面的原因我们知道在头文件是不可以定义函数和变量的,对于函数来讲如下定义是声明:
void fun();对于变量来讲的话,则为如下格式;
extern int a;这个意思是指对变量a设置外部链接属性,与static意义相反,加上extern字段指明a为声明,不会对a分配内存,因此在链接过程中不会出现重复定义,因为整个内存中只会有一份变量a,变量a的定义只需要在一个cpp文件定义就可以了
如果在头文件中使用const 或 static 字段,则限制了该变量的作用域,仅在本文件中使用,在别的文件将无法被使用,但是不建议在头文件中使用,因为这么做会污染命名空间造成不必要的烦恼
0 0
- [c++ 温故知新] c++ 头文件和cpp文件关系
- 头文件和.cpp 或.c 文件之间的关系
- C头文件和C++头文件的关系
- .c 文件和 .cpp 文件
- Vim添加CPP/C头文件snappet
- C语言中.C头文件和.H头文件的概念以及关系
- c中头文件在cpp文件中引用和.h文件引用的思考
- C语言中,头文件和源文件的关系
- C语言头文件和源文件的关系
- C语言中,头文件和源文件的关系
- c/c++中头文件和源文件的关系
- C语言中,头文件和源文件的关系
- C语言中,头文件和源文件的关系
- c/c++头文件与cpp文件的切换实现
- cpp文件引用c的头文件,千万注意
- 头文件在.c/.cpp中引用和.h文件引用
- 【学习C++】两个源文件CPP(cpp与cpp) 或 头文件h与源文件cpp
- .C文件和.CPP文件的区别
- CentOS 7.0 服务器安装
- Memcached的安装
- FragmentActivity和Activity的具体区别
- 【UML】序列图和协作图
- python 正则表达式
- [c++ 温故知新] c++ 头文件和cpp文件关系
- CentOS系统中Firefox浏览器的flash player安装
- lvs+keepalived 负载均衡realserver.sh脚本
- 22.UITableViewCell根据Cell的内容自适应
- 编写高质量iOS 与OSX 代码的52个有效方法之内存管理
- [Android][Build Problems] failed to find build tools revision & failed to find target android 等问题解决
- 计算机学院大学生程序设计竞赛(2015’12)The Country List(水题)
- Memcached概念及使用原理
- 【C++】深度探索C++对象模型之站在对象模型的顶端