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

溫馨提示×

c++靜態變量生命周期如何

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

C++ 靜態變量的生命周期與其所在的函數或類相關。靜態變量在程序的整個運行期間都存在,但它們的作用域僅限于定義它們的函數或類。

以下是 C++ 靜態變量生命周期的簡要概述:

  1. 如果靜態變量定義在全局作用域中,它的生命周期與程序的生命周期相同。這意味著,當程序啟動時,靜態變量被初始化,當程序結束時,靜態變量被銷毀。
#include <iostream>

static int global_static_var = 0; // 全局靜態變量

int main() {
    std::cout << "Global static variable: " << global_static_var << std::endl;
    return 0;
}
  1. 如果靜態變量定義在函數內部,它的生命周期僅限于該函數的執行期間。然而,在函數執行完畢后,靜態變量不會被銷毀,而是保持其值,直到下一次調用該函數時,它會保留上次調用結束時的值。
#include <iostream>

void my_function() {
    static int function_static_var = 0; // 函數內靜態變量
    function_static_var++;
    std::cout << "Function static variable: " << function_static_var << std::endl;
}

int main() {
    my_function();
    my_function();
    return 0;
}
  1. 如果靜態變量定義在類內部,它的生命周期與類的實例相同。但是,靜態變量在所有類的實例之間共享。當類的一個實例被銷毀時,靜態變量不會被銷毀,而是保持其值,直到下一個實例被創建時,它會保留上次實例結束時的值。
#include <iostream>

class MyClass {
public:
    static int class_static_var; // 類內靜態變量
};

int MyClass::class_static_var = 0;

int main() {
    MyClass obj1;
    MyClass obj2;
    std::cout << "Class static variable: " << MyClass::class_static_var << std::endl;
    return 0;
}

總之,C++ 靜態變量的生命周期取決于它們的作用域。全局靜態變量和類內靜態變量的生命周期與程序的生命周期相同,而函數內靜態變量的生命周期僅限于函數的執行期間。

0
余庆县| 通江县| 教育| 抚顺市| 苗栗县| 姚安县| 庄浪县| 玛多县| 榆中县| 鹤山市| 怀集县| 涿州市| 惠水县| 钦州市| 瑞昌市| 赣榆县| 天祝| 介休市| 柯坪县| 扎兰屯市| 富民县| 方山县| 闸北区| 五台县| 中宁县| 苍溪县| 茂名市| 芜湖市| 绥滨县| 迁西县| 油尖旺区| 河南省| 石狮市| 武川县| 华蓥市| 静乐县| 安陆市| 盘山县| 洛隆县| 永修县| 上思县|