作者anoymouse (没有昵称)
看板C_and_CPP
标题[问题] 一般变数与const变数 在表头档问题
时间Sun Aug 2 18:39:28 2020
C++ / C
Windows10 Keil5
1.
个人认知header file 如果被一个source code includes,就是在那个
档案进行Inline吧?
那如果在header file定义一个变数,不就只代表每个include 其header file的
档案都有一个变数:同样名称同样数值不同记忆体位址的一个个体吗?
为什麽在linking的时候会出现重复定义的错误呢?
重复定义不是要在同一个档案的scope出现两次才算重复定义?
2.
const变数被定义在header file里面的话,可以不消耗任何记忆体空间?
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.136.222.105 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1596364770.A.D98.html
1F:→ tomsawyer: 1.的状况是不是用ifndef 若没用extern一样会遇到啊? 08/02 19:00
2F:推 chuegou: 欸?keilC允许在.h宣告变数吗?是我太久没用还是记错 08/02 19:56
4F:→ Lipraxde: 应该刚好适合你 08/02 21:01
5F:→ Lipraxde: 现在都有人整理好这种东西,真方便啊... 08/02 21:08
6F:→ anoymouse: 感谢 看看先!! 08/02 22:07
7F:→ galic: 1. static 2. C的const是read-only 不是概念上的常数 08/03 00:08
8F:推 steve1012: header 可以用inline constexpr 08/03 03:14
9F:→ Killercat: const不管放哪都一样 都是在.rodata segment 08/03 10:14