溫馨提示×

c++靜態全局變量的訪問權限如何設置

c++
小樊
123
2024-12-06 21:10:18
欄目: 編程語言

在C++中,靜態全局變量的訪問權限可以通過以下方式設置:

  1. 默認訪問權限(即文件作用域):如果不對靜態全局變量顯式指定訪問修飾符,那么它的訪問權限默認為“文件作用域”。這意味著該變量只能在定義它的源文件中訪問。在其他源文件中,無法直接訪問該變量。
// file1.cpp
#include <iostream>

static int staticGlobalVar = 10; // 默認訪問權限為文件作用域

void foo() {
    std::cout << "Static global variable in file1: " << staticGlobalVar << std::endl;
}
  1. public訪問權限:如果希望在其他源文件中也能夠訪問該靜態全局變量,可以將其聲明為public。這樣,所有包含該靜態全局變量的源文件都可以訪問它。
// 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.cppfile2.cpp中訪問了。注意,我們在file1.h中使用了extern關鍵字來聲明staticGlobalVar,這樣其他源文件就可以知道它的存在。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女