请问C++分离式编译的时候,通过在一个文件中声明可以使用另一部分文件中的变量,这里能使用的是该变量名吗,可以得到定义该变量的文件中的值吗?如果可以的话,得到的是定义时候的初始化的值还是该部分文件中最终它的值呢?
求大神解答!
是全局变量么,在一个cpp里 int k = 0;
在另一个cpp里要是想用这个k值,要用 extern int k;
如果你使用extern关键字进行申明,则该变量名即为全局变量。意思是说,任何文件在申明之后都有读写权限,即读写均为该全局变量的终值。
但是请注意,如果当前cpp文件中没有申明并且直接使用了该变量名,则是只读的,这种情况下只是该全局变量copy的临时变量,其作用域仅限当前行,如果对其赋值则改变的是该临时变量而非全局变量,意思是在未申明的文件中这种引用有多少次,就有多少个copy,并且每次都是该全局变量的终值的copy。
设置一个全局变量就可以得到