亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

c++靜態變量如何初始化

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

在C++中,靜態變量在程序啟動時初始化,只初始化一次。靜態變量的初始化有兩種方式:局部靜態變量和全局靜態變量。

  1. 局部靜態變量初始化:

在函數內部定義的靜態變量,它在第一次調用該函數時被初始化,之后每次調用函數時不再重新初始化,而是保持上一次調用結束時的值。局部靜態變量的初始化使用關鍵字static進行修飾。例如:

void foo() {
    static int count = 0; // 局部靜態變量
    count++;
    std::cout << "This function has been called " << count << " times." << std::endl;
}

int main() {
    foo();
    foo();
    foo();
    return 0;
}

輸出結果:

This function has been called 1 times.
This function has been called 2 times.
This function has been called 3 times.
  1. 全局靜態變量初始化:

在函數外部定義的靜態變量,它在程序啟動時被初始化,只初始化一次。全局靜態變量的初始化不需要使用關鍵字static進行修飾。例如:

int global_count = 0; // 全局靜態變量

void foo() {
    global_count++;
    std::cout << "This function has been called " << global_count << " times." << std::endl;
}

int main() {
    foo();
    foo();
    foo();
    return 0;
}

輸出結果:

This function has been called 1 times.
This function has been called 2 times.
This function has been called 3 times.

注意:局部靜態變量和全局靜態變量的初始化順序在不同的編譯單元中是未定義的,但在同一編譯單元中的初始化順序是確定的。如果需要在不同編譯單元之間進行同步初始化,可以使用互斥鎖(mutex)等同步機制。

0
云龙县| 宝鸡市| 七台河市| 蛟河市| 开阳县| 大洼县| 永泰县| 禄劝| 大安市| 建平县| 灌南县| 麻江县| 武清区| 崇明县| 琼海市| 新营市| 乌兰察布市| 滨州市| 长沙县| 佛学| 紫云| 牡丹江市| 永济市| 洛浦县| 新源县| 临潭县| 蒙自县| 新蔡县| 新乡县| 旌德县| 阿图什市| 静安区| 从江县| 珲春市| 南郑县| 广丰县| 外汇| 雷州市| 泰和县| 镇远县| 沽源县|