中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

c++ static變量作用域是啥

c++
小樊
81
2024-11-25 19:28:54
欄目: 編程語言

C++中的static變量具有以下作用域:

  1. 如果static變量定義在函數內部,那么它的作用域僅限于該函數。這意味著在其他函數中無法訪問此靜態變量。每次調用該函數時,靜態變量都會保留其上一次調用結束時的值。
void func() {
    static int count = 0;
    count++;
    cout << "This function has been called " << count << " times." << endl;
}
  1. 如果static變量定義在全局作用域中,那么它的作用域是整個程序。這意味著在整個程序中都可以訪問此靜態變量。靜態全局變量在程序啟動時初始化,并在程序結束時銷毀。
int global_count = 0;

void func() {
    static int count = 0;
    count++;
    cout << "This function has been called " << count << " times." << endl;
}
  1. 如果static變量定義在類中,那么它的作用域僅限于該類的成員函數。這意味著只有該類的成員函數可以訪問此靜態變量。靜態成員變量在類首次被實例化時初始化,并在程序結束時銷毀。
class MyClass {
public:
    static int count;
};

int MyClass::count = 0;

void func() {
    MyClass obj;
    MyClass::count++;
    cout << "MyClass has been instantiated " << MyClass::count << " times." << endl;
}

總之,C++中的static變量作用域取決于它的定義位置。在函數內部定義的靜態變量僅在該函數中可見,而在全局作用域或類中定義的靜態變量在整個程序中可見。

0
柳江县| 新宁县| 山西省| 鹰潭市| 印江| 固镇县| 鄢陵县| 景洪市| 宽城| 阿克苏市| 兴安盟| 大埔区| 宕昌县| 凤庆县| 台前县| 阜南县| 玉龙| 临桂县| 瓦房店市| 三江| 舟山市| 西丰县| 九龙坡区| 阿巴嘎旗| 神农架林区| 靖远县| 隆回县| 雅江县| 新巴尔虎左旗| 安塞县| 武邑县| 桓台县| 枣阳市| 桑日县| 永平县| 白朗县| 油尖旺区| 图们市| 永年县| 白银市| 安宁市|