[问题] 一般变量与const变量 在表头档问题

楼主: anoymouse (没有暱称)   2020-08-02 18:39:28
C++ / C
Windows10 Keil5
1.
个人认知header file 如果被一个source code includes,就是在那个
档案进行Inline吧?
那如果在header file定义一个变量,不就只代表每个include 其header file的
档案都有一个变量:同样名称同样数值不同内存位址的一个个体吗?
为什么在linking的时候会出现重复定义的错误呢?
重复定义不是要在同一个档案的scope出现两次才算重复定义?
2.
const变量被定义在header file里面的话,可以不消耗任何内存空间?
谢谢
作者: tomsawyer (安安)   2020-08-02 19:00:00
1.的状况是不是用ifndef 若没用extern一样会遇到啊?
作者: chuegou (chuegou)   2020-08-02 19:56:00
欸?keilC允许在.h宣告变量吗?是我太久没用还是记错
作者: Lipraxde (Lipraxde)   2020-08-02 21:01:00
https://bit.ly/33mQWgX应该刚好适合你现在都有人整理好这种东西,真方便啊...
楼主: anoymouse (没有暱称)   2020-08-02 22:07:00
感谢 看看先!!
作者: galic (嘎利)   2020-08-03 00:08:00
1. static 2. C的const是read-only 不是概念上的常数
作者: steve1012 (steve)   2020-08-03 03:14:00
header 可以用inline constexpr
作者: Killercat (杀人猫™)   2020-08-03 10:14:00
const不管放哪都一样 都是在.rodata segment

Links booklink

Contact Us: admin [ a t ] ucptt.com