https://www.fluentcpp.com/2019/07/23/how-to-define-a-global-constant-in-cpp/
偶然看到这篇,我其实觉得他写错
这部分
Each file has its own version of焏. This is a problem for three reasons:
it is undefined behaviour (objects must be defined only once in C++),
??????真的undefined吗?有没有什么表格或网址整理ub...之前看到说把东西写在
namespace std也是ub...也太多很容易就写出来的ub了吧
it uses more memory,
if the constructor (or destructor) of曱温as side effects, they will be execute
d twice.
这句看不懂,什么是side effect在这里?
他的范例我唯一能看出问题的就是你没办法保证cout比他的x先初始化
其他他说执行两次cstor不是很正常吗?
我只记得const自带static,所以默认是internal linkage
https://en.cppreference.com/w/cpp/language/cv
的Note也是这样写
但他说是ub 我觉得很奇怪…..
最后他提到inline,
inline跟extern效果一样,意思是c++鼓励使用inline而不是extern吗
谢谢