91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
邵东县| 奇台县| 行唐县| 德清县| 班玛县| 白朗县| 满城县| 房山区| 大邑县| 寿宁县| 班玛县| 徐州市| 云龙县| 南皮县| 海丰县| 英超| 舟山市| 聂荣县| 漾濞| 依安县| 义马市| 临武县| 荣昌县| 白玉县| 东乌| 黄大仙区| 孙吴县| 浑源县| 板桥市| 梁河县| 开化县| 南投市| 仲巴县| 平原县| 多伦县| 林芝县| 上饶市| 方山县| 泸西县| 宁远县| 麟游县|