C++声明与定义

作者在学习图论时遇到链接错误,通过观看C++教程理解到C++以文件后缀区分,声明和定义的差异:声明可多次,定义一次,强调了全局变量的声明不分配内存。视频链接提供了解决问题的关键视角。
摘要由CSDN通过智能技术生成

        最近我在学图论时,定义一个全局数组,编译链接时出现了这个错误,困惑了我好久。

这个本质上是链接错误。 直到我看见这个

【【C++教程】国外大佬C++技术教程,油管百万级收藏,学C++看这个就够了!(中文字幕)】 https://www.bilibili.com/video/BV1oD4y1h7S3/?p=15&share_source=copy_web&vd_source=e3810583151437e80cf4523aa7018094

视频明白c++这个语言是以文件为翻译源,它区分文件形式是以后缀名来区分的,比如.cpp,.h文件,编译器的工作就是把源文件翻译成目标文件即.obj文件(本质就是二进制代码)

而链接的过程就是把不同的obj文件汇总成一个.exe文件,这就不可避免的一个变量,函数重复使用,比如a.h定义一个全局变量,b.cpp,c.cpp都要用,

a.h

b.cpp

c.cpp


小结就是:声明可以拷贝多次,定义只能拷贝一次,本质就是声明不分配内存。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值