当static修饰全局函数时,他的作用在于限制作用域:
有两个源文件:
在a.cpp中:
这两个函数在a.cpp中都是全局的,唯一区别仅在于一个用static修饰了,在源.cpp中:
总结下来就是,static修饰的全局函数只在本源文件中可见,在其他源文件中不可见。如果把static去掉,那么该全局函数在所有的源文件中都可见,当需要用到的时候,只需要用extern声明一下,然后就可以直接调用了.但是会存在命名冲突的问题,如下:
b.cpp:
在源.cpp中:
这样就会出现问题了.