static作用(1)

当static修饰全局函数时,他的作用在于限制作用域:

有两个源文件:

 

 在a.cpp中:

 

 这两个函数在a.cpp中都是全局的,唯一区别仅在于一个用static修饰了,在源.cpp中:

 

 

 

 总结下来就是,static修饰的全局函数只在本源文件中可见,在其他源文件中不可见。如果把static去掉,那么该全局函数在所有的源文件中都可见,当需要用到的时候,只需要用extern声明一下,然后就可以直接调用了.但是会存在命名冲突的问题,如下:

 

 

b.cpp:

 

 在源.cpp中:

 

 

这样就会出现问题了.

 

posted @ 2020-12-20 09:19  sunshine_gzw  阅读(80)  评论(0编辑  收藏  举报