在全局作用域中使用静态变量和函数
- 论坛
- 在全局作用域中使用静态变量和函数
22 浏览
在全局作用域中使用静态变量和函数
当一个变量在一个.cpp文件的全局作用域中,不在函数中时,将其标记为static
,有用吗?
函数也可以使用static
关键字吗?如果是,那么它们的用途是什么?
admin 更改状态以发布 2023年5月23日
匿名的
0 Comments
是的,如果你想声明文件作用域变量,那么 static
关键字是必要的。static
在一个翻译单元中声明的变量不能从另一个翻译单元中引用。
顺便说一句,在 C++03 中,static
关键字的使用已被弃用。
C++ 标准(2003)的第 $7.3.1.1/2 节中写道:
在命名空间作用域中声明对象时,使用 static 关键字是不推荐的;未命名命名空间提供了一种更好的替代方案。
C++ 更喜欢未命名命名空间而不是 static
关键字。详见此话题: