C++面試時static關鍵字總結

在類中使用和非類中
非類中:

  1. 隱藏
    舉例:
    一個a.cpp文件,一個b.cpp文件。

    這個是a.cpp的內容:

    #include<iostream>
    int g_a = 1;
    void fun()
    {}
    

    這個a.cpp中的變量g_a和函數fun在b.cpp中是可以訪問且使用的。
    加static後就對其他源文件(a.cpp之外的)隱藏了。

  2. 默認初始化爲0
    備註:未初始化的全局靜態變量和局部靜態變量,以及未初始化的全局變量都初始值爲0,因爲都存儲在全局靜態存儲區

  3. 局部靜態變量生命週期不在僅是所屬函數,生命週期爲整個程序,但是作用域不變

類中使用:

  • 修飾數據成員:①不屬於任何類對象,屬於該類 ; ②在類外初始化
  • 修飾成員函數:①不能用virtual、const聲明; ②無法訪問非靜態成員函數和非靜態數據成員 ; ③非靜態成員函數可以訪問靜態數據和靜態數據成員。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章