阅读量:2
在C++中,静态全局变量的访问权限可以通过以下方式设置:
- 默认访问权限(即文件作用域):如果不对静态全局变量显式指定访问修饰符,那么它的访问权限默认为“文件作用域”。这意味着该变量只能在定义它的源文件中访问。在其他源文件中,无法直接访问该变量。
// file1.cpp
#include
static int staticGlobalVar = 10; // 默认访问权限为文件作用域
void foo() {
std::cout << "Static global variable in file1: " << staticGlobalVar << std::endl;
}
- public访问权限:如果希望在其他源文件中也能够访问该静态全局变量,可以将其声明为public。这样,所有包含该静态全局变量的源文件都可以访问它。
// file1.cpp
#include
static int staticGlobalVar = 10; // 默认访问权限为文件作用域
void foo() {
std::cout << "Static global variable in file1: " << staticGlobalVar << std::endl;
}
// file2.cpp
#include
#include "file1.h"
void bar() {
std::cout << "Static global variable in file2: " << staticGlobalVar << std::endl;
}
// file1.h
#ifndef FILE1_H
#define FILE1_H
extern int staticGlobalVar; // 声明为public
void foo();
#endif // FILE1_H
在这个例子中,我们将staticGlobalVar声明为public,这样它就可以在file1.cpp和file2.cpp中访问了。注意,我们在file1.h中使用了extern关键字来声明staticGlobalVar,这样其他源文件就可以知道它的存在。
以上就是关于“c++静态全局变量的访问权限如何设置”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm