static int的值會變嗎 為什么靜態(tài)成員變量要通過類外初始化賦值?
為什么靜態(tài)成員變量要通過類外初始化賦值?當類的數(shù)據(jù)成員聲明為靜態(tài)時,靜態(tài)數(shù)據(jù)成員只能定義一次并由同一類的所有對象共享。每個對象都有類中每個普通數(shù)據(jù)成員的一個副本,但靜態(tài)數(shù)據(jù)成員只存在一個實例,而不管定
為什么靜態(tài)成員變量要通過類外初始化賦值?
當類的數(shù)據(jù)成員聲明為靜態(tài)時,靜態(tài)數(shù)據(jù)成員只能定義一次并由同一類的所有對象共享。每個對象都有類中每個普通數(shù)據(jù)成員的一個副本,但靜態(tài)數(shù)據(jù)成員只存在一個實例,而不管定義了多少個類對象。靜態(tài)數(shù)據(jù)成員的目的之一是統(tǒng)計實際存在的對象數(shù)。靜態(tài)數(shù)據(jù)成員不能在類中初始化。實際上,類定義只用于描述對象的藍圖,其中不允許指定初始值。無法在函數(shù)中初始化靜態(tài)數(shù)據(jù)成員,因為靜態(tài)數(shù)據(jù)成員由類的所有對象共享,因此每次創(chuàng)建類的對象時,都會重新初始化靜態(tài)數(shù)據(jù)成員。