在头文件中定义一个结构体,两个cpp文件同时包含它,编译时时否会重复?

如果我在一个头文件a.h中定义了一个结构体:typedefstructnode{...}FNode;然后我在b1.cpp和b2.cpp同是包含它,编译连接时是否重复?另外... 如果我在一个头文件a.h中定义了一个结构体:
typedef struct node
{
...
} FNode;
然后我在b1.cpp和b2.cpp同是包含它,编译连接时是否重复?
另外,如果我在a.h中用了#include <string>的话,在b1.cpp和b2.cpp中还要再定#includ <string>吗?
展开
 我来答
百度网友b07718c
推荐于2017-10-02 · TA获得超过918个赞
知道小有建树答主
回答量:712
采纳率:0%
帮助的人:398万
展开全部
第二个文件如果include了第一个文件,那么第一个文件里面所有的被包含的文件也相当于在第二个文件里面被包含了。所以不用重新包含。

还有,你说那中情况是不会重复的。

一般情况下。文件都是这么写,无论你怎么弄都不会重复了
#ifndef __A_H__//这个宏一般就是你的文件名.变成下划线,前后各加两个下划线
#define __A_H__
你要写的代码的内容
#endif

你这样写 无论你怎么包含这个文件。都不会出现重定义的情况。
arongustc
科技发烧友

2012-01-30 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:6006万
展开全部
类型不是实体,不会出现重复
也不需要重新包含
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
techird
2012-01-30 · TA获得超过153个赞
知道小有建树答主
回答量:149
采纳率:0%
帮助的人:104万
展开全部
楼上正解
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式