C++ 靜態成員變量(Static Member Variable)在類中有以下作用:
類級別的共享數據:靜態成員變量是類級別的,而不是對象級別的。這意味著在整個程序中只有一個靜態成員變量的實例,所有該類的對象共享這個變量。這有助于實現數據在類中的集中管理。
節省內存:由于靜態成員變量只分配一次內存,因此可以節省內存空間。對于大型類或具有許多對象的類來說,這可能會產生顯著的性能提升。
常量靜態成員變量:靜態成員變量可以用作常量(const),這意味著它們的值在初始化后不能被修改。這有助于確保在整個程序運行期間,這些變量的值保持不變。
方便類方法訪問:靜態成員變量可以直接通過類名訪問,而無需創建對象。這使得在不需要創建類對象的情況下,可以方便地訪問和修改靜態成員變量。
下面是一個簡單的 C++ 靜態成員變量示例:
#include <iostream>
using namespace std;
class Counter {
public:
static int count; // 靜態成員變量
Counter() {
count++; // 每次創建新對象時,count 增加 1
}
};
// 初始化靜態成員變量
int Counter::count = 0;
int main() {
Counter obj1;
Counter obj2;
Counter obj3;
cout << "Number of objects created: " << Counter::count << endl; // 輸出:Number of objects created: 3
return 0;
}
在這個例子中,我們定義了一個名為 Counter
的類,它具有一個靜態成員變量 count
。每當創建一個新的 Counter
對象時,count
的值就會增加 1。最后,我們可以直接通過類名 Counter
訪問 count
的值,而無需創建對象。