C++中類的靜態成員與實例成員的區別
1、有static修飾的成員變量或成員函數稱為靜態成員。
2、在內存中,類的靜態數據成員占有一塊特定的內存空間,被該類的所有實例(對象)共享。而同一個類的不同對象的實例數據成員相互獨立,占有各自的存儲空間。
3、靜態變量不能在構造函數中初始化,必須在類外的文件作用域中定義靜態數據成員,即為它們分配存儲空間。
4、在類之外,需要使用類名和域解析操作符:: 訪問類的靜態數據成員和共有函數成員。
5、在靜態函數中,只能訪問類的靜態成員變量和靜態函數,而不能訪問類的實例數據成員。
靜態函數和普通函數的本質區別:編譯時,編譯器沒有為靜態函數指定this參數,而普通函數有this參數。