C++ 头文件包含的重复定义+extern的使用

在C++项目中,通常将声明放在.h文件,实现放在.cpp文件。头文件包含需谨慎处理,避免重复定义问题。可以使用条件编译指令如 ifdef 或#pragma once 防止多重包含。确保源文件与头文件中定义和声明的一致性,使用extern关键字共享变量。正确管理头文件关系对于项目结构清晰至关重要。
摘要由CSDN通过智能技术生成

C++项目中,一般在.h文件中声明,在.cpp 文件中定义和实现。每个文件尽量只专注于做一个事情,比如定义一个类,进行封装,对外提供特定功能。
一个大型项目中,只有一个main函数,来接收数据,处理业务逻辑,处理的过程需要借助其他文件中提供的方法,即include。而每个其他文件,也可能include其其他文件实现自己的方法,可以把include想象成,把别人的代码粘贴过来放在自己的代码中。

include 的过程中,最恼人的就是包含的关系,比如A 包含B了,B包含C了,那其实,A 也包含C了,当A中有直接依赖C的时候,A也要包含C,那么相当于A要包含C两次。如果不加以处理,会使得C中定义的数据,在A中被包含2次,就会发生重复定义的问题。使用 #ifdef 或者 #pragma 来解决头文件的重复包含,见下文解释:
https://blog.csdn.net/u014557232/article/details/50354127

在多个源文件中共享变量或函数时,需确保定义和声明的一致性。通常在某个相关的源文件中定义,然后在头文件中进行外部声明。需要使用时包含相应的头文件即可。定义变量的源文件也应包含该头文件,以便编译器检查定义和声明的一致性。(extern 关键字的使用)(引用自:https://www.cnblogs.com/clover-toeic/p/3728026.html)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值