C++類的靜態成員變量(聲明、定義、初始化)


C++類的靜態成員變量屬於該類,在該類所有的對象間共享。

要弄清如何初始化,首先要明白聲明、定義、初始化三個概念的不同。

聲明:指定變量的名字和類型,可以多次聲明。

定義:為該成員變量分配存儲空間,有且僅有一個定義。

初始化:為該成員變量賦初值。

在類的聲明中,靜態成員變量僅完成了聲明過程,並沒有進行定義和賦初值。

靜態成員變量在編譯時存儲在靜態存儲區,即定義過程應該在編譯時完成,因此一定要在類外進行定義,但可以不初始化。

class A

{

public:

  static int a;

}

int a;//類外定義,沒有初始化

int a=0;//類外定義,並進行初始化。

 

轉載來源:https://www.cnblogs.com/crazyfrog/p/10922854.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM