社区
新手乐园
帖子详情
头文件包含了那些内容啊??
red9ueen
2012-05-05 03:23:06
书上写着:(我列举我不理解的几项)
(3)内置函数的定义
(4)宏定义
(5)全局变量定义
(6)外部变量的声明
第三项 内置函数的定义 如果要用到inline,不是在主函数内先声明,然后在主函数后面,定义inline函数么?
第四、五、六项如何理解 全局变量的定义不应该在函数外 写int a等等之类的语句么,还有外部变量声明 extern int a,这些都是头文件里面的?
纠结死了 盼望高手解答
...全文
365
11
打赏
收藏
头文件包含了那些内容啊??
书上写着:(我列举我不理解的几项) (3)内置函数的定义 (4)宏定义 (5)全局变量定义 (6)外部变量的声明 第三项 内置函数的定义 如果要用到inline,不是在主函数内先声明,然后在主函数后面,定义inline函数么? 第四、五、六项如何理解 全局变量的定义不应该在函数外 写int a等等之类的语句么,还有外部变量声明 extern int a,这些都是头文件里面的? 纠结死了 盼望高手解答
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zyp0504
2012-05-05
打赏
举报
回复
头文件里包括 宏定义、结构体、函数声明等。而具体的函数实现是在库文件中。我们只是要调用它。举个例子,我们最近的一个项目就是根据硬件提供商提供的sdk包编写软件。头文件里基本都是宏定义,函数声明。具体的函数实现在库文件里。我们也不知道他们是怎么实现的。。我们只要懂得如何用它就好了。
另:头文件也有自己写的
red9ueen
2012-05-05
打赏
举报
回复
[Quote=引用 8 楼 的回复:]
建议楼主换书看吧,这本书不适合你。这种内存安排,对已经有基础的人或许还可以,而且个人认为这本书的作者的脑子僵化了,不看这样的书也罢。
看C++ Primer plus或者C++ Primer吧。
[/Quote]
你的建议我会考虑的 我会做标记 等以后再看看
pathuang68
2012-05-05
打赏
举报
回复
建议楼主换书看吧,这本书不适合你。这种内存安排,对已经有基础的人或许还可以,而且个人认为这本书的作者的脑子僵化了,不看这样的书也罢。
看C++ Primer plus或者C++ Primer吧。
Athenacle_
2012-05-05
打赏
举报
回复
额,,有些头文件是编译器提供的,像什么stdio.h stdlib.h等,,当然,也可以自己写~。。
red9ueen
2012-05-05
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
函数申明不一定要放在主函数里面,反正我个人没有把函数申明写在主函数里面的习惯。
当你的程序源码很多的时候,你就会养成一种习惯,用头文件把函数申明,全局变量都写在些头文件里面。
[/Quote]
问个基础的吧 头文件就是类似于iostream、cmath这样的吧。
在头文件里把函数声明,把全局变量都写在头文件里?什么意思?
red9ueen
2012-05-05
打赏
举报
回复
[Quote=引用 2 楼 的回复:]
内置函数?LZ是说内联函数吗?
内联函数会自动加上static属性,所以,内联函数不要放到头文件声明,否则如果你在多个代码中定义了多个同名的内联函数,会出现与编译器有关的结果。。。
普通函数还是放在头文件里为好,文件一多,可以便于管理。
一些全局性的宏也是放在头文件里的,可供多个代码文件使用。
extern 的外部变量的声明可以放到头文件里,减少管理的麻烦,但变量的定义不要放到头文件……
[/Quote]
我糊涂了 比如说#include <iostream> iostream就是头文件吧
“一些全局性的宏也是放在头文件里的,可供多个代码文件使用”,怎么放到头文件里,头文件不是编译器提供的么?
red9ueen
2012-05-05
打赏
举报
回复
那是不是意味着要自己写头文件?[Quote=引用 1 楼 的回复:]
函数申明不一定要放在主函数里面,反正我个人没有把函数申明写在主函数里面的习惯。
当你的程序源码很多的时候,你就会养成一种习惯,用头文件把函数申明,全局变量都写在些头文件里面。
[/Quote]
Athenacle_
2012-05-05
打赏
举报
回复
普通函数还是放在头文件里为好,文件一多,可以便于管理。//<-------修改这句话
普通函数的声明要放在头文件里,但函数的实现千万不要放在头文件里,否则在多个引用此头文件的源文件中会出现多个此函数的实现,链接错误
Athenacle_
2012-05-05
打赏
举报
回复
内置函数?LZ是说内联函数吗?
内联函数会自动加上static属性,所以,内联函数不要放到头文件声明,否则如果你在多个代码中定义了多个同名的内联函数,会出现与编译器有关的结果。。。
普通函数还是放在头文件里为好,文件一多,可以便于管理。
一些全局性的宏也是放在头文件里的,可供多个代码文件使用。
extern 的外部变量的声明可以放到头文件里,减少管理的麻烦,但变量的定义不要放到头文件里,否则可能发生重定义的链接错误; 但声明可以。
这些现在稍微了解下, 代码写的多了,就自己会领悟了
W170532934
2012-05-05
打赏
举报
回复
函数申明不一定要放在主函数里面,反正我个人没有把函数申明写在主函数里面的习惯。
当你的程序源码很多的时候,你就会养成一种习惯,用头文件把函数申明,全局变量都写在些头文件里面。
c++中
头
文件包含
内容
以及为何不可重复包含
头
文件
本文介绍了C++
头
文件包含
的
内容
,如函数声明、类和结构体定义等,其主要作用是声明接口。同时阐述了C++中不能重复声明或定义的情况,像变量、类、函数等。还说明了包含保护的作用,可避免
头
文件
内容
被重复处理,助于编写健壮代码。
2个办法解决
头
文件重复包含的问题
本文介绍了在C++开发中如何避免
头
文件重复包含的两种有效方法:使用条件编译指令#ifndef和#pragma once。详细分析了它们的工作原理及适用场景,并解释了
头
文件嵌套包含带来的问题及其解决方案,有助于提升代码的健壮性和编译效率。
头
文件重复包含
本文详细分析了C++编程中
头
文件重复包含的问题,指出其可能导致的编译错误和效率降低,并提供了两种解决方案:条件编译(#ifndef, #define, #endif)和#pragma once。条件编译利用宏定义防止
头
文件重复,而#pragma once是编译器级别的优化,确保
头
文件仅被编译一次。文章还讨论了两者之间的优缺点和适用场景,并列举了不同编译器的条件编译指令示例。
为什么会有
头
文件循环依赖?搜索路径?
头
文件包含
?如何包含
头
文件最多只有一次?
本文探讨了
头
文件循环依赖的原因、
头
文件搜索路径的规则、
头
文件包含
的本质以及如何确保
头
文件只被包含一次。介绍了C/C++语言中
头
文件依赖问题的解决方案,包括前向声明、条件编译宏#ifndef/#define、#pragma once以及ObjC的#import用法。
C语言
头
文件相互包含的问题
本文深入探讨
头
文件交叉包含的问题,分析其可能导致的递归包含错误及解决方案,通过实例讲解预处理ifndef的作用,以及如何避免变量相互引用导致的编译错误。
新手乐园
33,316
社区成员
41,770
社区内容
发帖
与我相关
我的任务
新手乐园
C/C++ 新手乐园
复制链接
扫一扫
分享
社区描述
C/C++ 新手乐园
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章