什么也不会之-我要进大厂-要不就回家种地;吃饭的手艺-唯一的熟练-号称可以造一切轮子的:c++——基本知识梳理篇

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)
 
 
posted @ 2022-08-24 16:59  Dyral_HAN  阅读(37)  评论(0编辑  收藏  举报