在C++中,靜態全局變量的訪問權限可以通過以下方式設置:
// file1.cpp
#include <iostream>
static int staticGlobalVar = 10; // 默認訪問權限為文件作用域
void foo() {
std::cout << "Static global variable in file1: " << staticGlobalVar << std::endl;
}
// file1.cpp
#include <iostream>
static int staticGlobalVar = 10; // 默認訪問權限為文件作用域
void foo() {
std::cout << "Static global variable in file1: " << staticGlobalVar << std::endl;
}
// file2.cpp
#include <iostream>
#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,這樣其他源文件就可以知道它的存在。