1、c和cpp不同之处mark
看到这个代码,我人都麻了。
先是.h文件中定义了x,并对x附了值
再在main.cpp中调用了module.cpp中的func函数。看上去十分的简单。
但是,我在main.cpp中,重新对x进行了一个赋值:
甚至都没有用const int x = 10;
直接int,最后的结果就可以看出来,x的值改变了。
原因:
C 和 C++中全局 const 变量的作用域相同,都是当前文件,不同的是它们的可见范围:C 语言中 const 全局变 量的可见范围是整个程序,在其他文件中使用 extern 声明后就可以使用;而 C++中 const 全局变量的可见范 围仅限于当前文件,在其他文件中不可见,所以它可以定义在头文件中,多次引入后也不会出错。(非常的重要啊) ps:要想x的值真的什么也改变不了,就可以在头文件中这样写:extern const int x =10;(我的感觉就是叠buff) 标签:文件,const,int,基本知识,c++,我要,可见,cpp,main From: https://www.cnblogs.com/Dyral-HAN0822/p/16620790.html