社区
C++ 语言
帖子详情
如何避免重复包含头文件?
umbrella1984
2005-05-23 04:42:14
例如头文件a和b,CPP文件c,a包含了b,cpp又包含了b和a,这样就造成了两次包含b,编译会提示重复定义,如何写代码才能避免?
...全文
1189
9
打赏
收藏
如何避免重复包含头文件?
例如头文件a和b,CPP文件c,a包含了b,cpp又包含了b和a,这样就造成了两次包含b,编译会提示重复定义,如何写代码才能避免?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zeeeitch
2005-05-23
打赏
举报
回复
微软编译器参数: #pragma once
qfeng_zhao
2005-05-23
打赏
举报
回复
对阿,用条件编译
xiaolele
2005-05-23
打赏
举报
回复
#ifndef H_HEADFILENAME
#define H_HEADFILENAME
文件内容。。。。。。。。。
#endif
lw1a2
2005-05-23
打赏
举报
回复
同上,而且,建议用工程来管理文件
积木
2005-05-23
打赏
举报
回复
在头文件的前面加上一个唯一的宏,然后判断这个宏是不是被定义了,如果被定义了,就证明这个头文件被包含,就不再编译这个文件。
#ifndef H_HEADFILENAME
#define H_HEADFILENAME
文件内容。。。。。。。。。
#endif
xeonwang
2005-05-23
打赏
举报
回复
借问一下:
假若我在头文件a中定义一个类CA, 在头文件b中定义了一个类CB,CA的定义中有个CB类型的成员变量m_b,CB的定义中又有一个CA类型的成员变量m_a,我让头文件a包含头文件b,头文件b又包含了头文件a,
请问能通过编译吗?
ysbcg
2005-05-23
打赏
举报
回复
在头文件中 只能包含声明 而不能进行定义操作
safe_man
2005-05-23
打赏
举报
回复
#pragma once
sunnyrxm
2005-05-23
打赏
举报
回复
#ifndef H_HEADFILENAME
#define H_HEADFILENAME
文件内容。。。。。。。。。
#endif
簡單的條件編譯問題
C
头
文件
避免
重复
包含
问题
C
头
文件
的使用方法,
避免
头
文件
的
重复
包含
防止变量
重复
定义、
头
文件
重复
包含
、嵌套
包含
防止变量
重复
定义、
头
文件
重复
包含
、嵌套
包含
,里面详细介绍如何防止变量
重复
定义及
头
文件
重复
包含
嵌套问题。对于对
头
文件
不是很了解的,可心下载学习。
《C深度解析》第二章 C预编译——宏定义、条件编译、
头
文件
包含
、特殊预编译关键字
课程内容:(1)回顾c预编译(2)宏定义:无宏体宏、有宏体宏、带参宏、宏定义与复杂表达式。(3)条件编译:#if、#else、#elif #endif、#ifdef和#ifndef、#if与defined、条件编译与配置
文件
(4)一些特殊的预编译关键字与实际应用:defined、#error、#line、#与##、#pragma (5)
文件
包含
:是否只能
包含
.h
文件
,<>与区别等。
防止变量
重复
定义
头
文件
重复
包含
嵌套
包含
.pdf
防止变量
重复
定义
头
文件
重复
包含
嵌套
包含
.pdf
C语言
头
文件
避免
重复
包含
、#pragma once和#ifndef区别
一般情况下,我们都是把函数声明、类定义、模板定义等写到一个
头
文件
里,需要时将相应的
头
文件
用#include
包含
到源
文件
(*.cpp
文件
)里来。但
头
文件
中又允许
包含
其它的
头
文件
,这样就难免发生某个
头
文件
被
重复
地
包含
。我们可以使用编译预处理命令
避免
这种情况的发生。
C++ 语言
64,701
社区成员
250,490
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章