什么情况下会需要用到自定义头文件呢?

蜂芒 2016-03-01 11:14:56
我要编一个程序,会用到很多小函数,把它们写进头文件再调用好不好呢?
...全文
376 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2016-03-03
  • 打赏
  • 举报
回复
引用 13 楼 u010165006 的回复:
[quote=引用 10 楼 zhao4zhong1 的回复:] 我个人的原则是,不超过10000行的一个.c或.cpp就不去刻意分成多个.c,.cpp,.h文件!
老赵有赵云之力,一般人可没有[/quote] 《赵云的武功秘笈》http://bbs.csdn.net/topics/390467268
dustpg 2016-03-02
  • 打赏
  • 举报
回复
这不就是头文件的意义吗
赵4老师 2016-03-02
  • 打赏
  • 举报
回复
我个人的原则是,不超过10000行的一个.c或.cpp就不去刻意分成多个.c,.cpp,.h文件!
odisey 2016-03-02
  • 打赏
  • 举报
回复
引用 7 楼 x572722344 的回复:
[quote=引用 2 楼 ooolinux的回复:]可以把很多函数放在不同的文件中来写,再在同名的扩展名改为.h的文件里面来声明这些函数的原型,然后在需要用到这些函数的文件的开头#include "这个头文件.h" 就可以调用这些函数了。 比如: fun.cpp文件: int myAdd(int a,int b) { return a+b; } int mySub(int a,int b) { return a-b; } fun.h文件: int myAdd(int a,int b); int mySub(int a,int b); main.cpp文件: #include "fun.h" int main() { int x,y,sum; sum=myAdd(x,y); .... return 0; }
那我可不可以在cpp文件里定义结构体,在头文件里声明,然后在main.cpp中像int这些数据类型一样使用呢?[/quote] 结构体的定义不同于函数的定义,应该放入头文件中,在需要用到该结构体的cpp文件中包含该头文件。 另外,每个头文件都应该加上保护块,以防止当一个cpp文件多次包含该头文件时,某些概念的定义(比如结构体的定义)被重复包含所带来的错误。
Saleayas 2016-03-02
  • 打赏
  • 举报
回复
小函数使用 inline 把他们放到头文件中。 这样可以提高调用的效率。
蜂芒 2016-03-02
  • 打赏
  • 举报
回复
引用 2 楼 ooolinux的回复:
可以把很多函数放在不同的文件中来写,再在同名的扩展名改为.h的文件里面来声明这些函数的原型,然后在需要用到这些函数的文件的开头#include "这个头文件.h" 就可以调用这些函数了。 比如: fun.cpp文件: int myAdd(int a,int b) { return a+b; } int mySub(int a,int b) { return a-b; } fun.h文件: int myAdd(int a,int b); int mySub(int a,int b); main.cpp文件: #include "fun.h" int main() { int x,y,sum; sum=myAdd(x,y); .... return 0; }
那我可不可以在cpp文件里定义结构体,在头文件里声明,然后在main.cpp中像int这些数据类型一样使用呢?
starytx 2016-03-02
  • 打赏
  • 举报
回复
头文件一般主要放函数或变量的声明,同名cpp中放置函数具体的实现代码和变量的初始化等,使用时一般是包含头文件就可以调用相应的函数
hongss 2016-03-02
  • 打赏
  • 举报
回复
说白了就是个公共函数文件而已
firmbank 2016-03-02
  • 打赏
  • 举报
回复
引用 10 楼 zhao4zhong1 的回复:
我个人的原则是,不超过10000行的一个.c或.cpp就不去刻意分成多个.c,.cpp,.h文件!
10000行?太恐怖啦吧。 我不会根据代码多少行来分割文件,而是根据功能来分。
firmbank 2016-03-02
  • 打赏
  • 举报
回复
我觉得函数不要放头文件中定义 头文件是用来放函数及变量的声明的 函数应该写在.c .cpp 中
yshuise 2016-03-02
  • 打赏
  • 举报
回复
多次调用的用内联inline
ooolinux 2016-03-02
  • 打赏
  • 举报
回复
引用 10 楼 zhao4zhong1 的回复:
我个人的原则是,不超过10000行的一个.c或.cpp就不去刻意分成多个.c,.cpp,.h文件!
老赵有赵云之力,一般人可没有
ooolinux 2016-03-02
  • 打赏
  • 举报
回复
引用 7 楼 x572722344 的回复:
那我可不可以在cpp文件里定义结构体,在头文件里声明,然后在main.cpp中像int这些数据类型一样使用呢?
一般在头文件里面声明结构体,如果结构体里有成员函数(C++中结构体和类是差不多的),在cpp文件中定义函数。
蜂芒 2016-03-02
  • 打赏
  • 举报
回复
引用 10 楼 赵4老师的回复:
我个人的原则是,不超过10000行的一个.c或.cpp就不去刻意分成多个.c,.cpp,.h文件!
10000行会不会函数太多了,我是专业需要编程做一些内业计算工作,程序当然远没有10000行,但感觉主要的函数都会要多次调用,所以考虑做成.h文件
ooolinux 2016-03-02
  • 打赏
  • 举报
回复
引用 2 楼 u010165006 的回复:
可以把很多函数放在不同的文件中来写,再在同名的扩展名改为.h的文件里面来声明这些函数的原型,然后在需要用到这些函数的文件的开头#include "这个头文件.h" 就可以调用这些函数了。 比如: fun.cpp文件: int myAdd(int a,int b) { return a+b; } int mySub(int a,int b) { return a-b; } fun.h文件: int myAdd(int a,int b); int mySub(int a,int b); main.cpp文件: #include "fun.h" int main() { int x,y,sum; sum=myAdd(x,y); .... return 0; }
当然main.cpp和fun.cpp文件要一起加入工程里面。
ooolinux 2016-03-02
  • 打赏
  • 举报
回复
可以把很多函数放在不同的文件中来写,再在同名的扩展名改为.h的文件里面来声明这些函数的原型,然后在需要用到这些函数的文件的开头#include "这个头文件.h" 就可以调用这些函数了。 比如: fun.cpp文件: int myAdd(int a,int b) { return a+b; } int mySub(int a,int b) { return a-b; } fun.h文件: int myAdd(int a,int b); int mySub(int a,int b); main.cpp文件: #include "fun.h" int main() { int x,y,sum; sum=myAdd(x,y); .... return 0; }
ooolinux 2016-03-02
  • 打赏
  • 举报
回复
类的声明和实现也是一样的。

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧