中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

c++中static的作用是什么

c++
小億
94
2023-10-12 03:05:30
欄目: 編程語言

在C++中,static關鍵字有以下幾種作用:

  1. 靜態變量:在函數內部聲明的靜態變量在程序運行期間只被初始化一次,并且在函數運行結束后仍然保留其值,下次再調用該函數時將繼續使用上次的值。
void func() {
static int count = 0; // 靜態變量
count++;
cout << count << endl;
}
int main() {
func(); // 輸出 1
func(); // 輸出 2
return 0;
}
  1. 靜態函數:靜態函數屬于類的成員函數,它只能訪問類的靜態成員變量和其他靜態函數,而無法訪問非靜態成員變量和非靜態函數。靜態函數不依賴于任何對象的創建,可以直接通過類名調用。
class MyClass {
public:
static void staticFunc() { // 靜態函數
staticVar = 10; // 可以訪問靜態成員變量
//nonStaticVar = 20; // 無法訪問非靜態成員變量
}
static int staticVar; // 靜態成員變量
private:
int nonStaticVar; // 非靜態成員變量
};
int MyClass::staticVar = 0; // 初始化靜態成員變量
int main() {
MyClass::staticFunc(); // 調用靜態函數
cout << MyClass::staticVar << endl; // 輸出 10
return 0;
}
  1. 靜態成員變量:靜態成員變量屬于類的成員變量,它在程序運行期間只被初始化一次,并且在類的所有對象之間共享。可以通過類名或對象名來訪問靜態成員變量。
class MyClass {
public:
static int staticVar; // 靜態成員變量
};
int MyClass::staticVar = 0; // 初始化靜態成員變量
int main() {
MyClass obj1;
MyClass obj2;
obj1.staticVar = 10; // 通過對象訪問靜態成員變量
cout << obj2.staticVar << endl; // 輸出 10
cout << MyClass::staticVar << endl; // 輸出 10
return 0;
}

總結來說,static關鍵字可以用于創建靜態變量、靜態函數和靜態成員變量。靜態變量在函數內部只初始化一次,并且保留其值;靜態函數只能訪問靜態成員變量和其他靜態函數,不依賴于對象的創建;靜態成員變量在類的所有對象之間共享。

0
娄底市| 文水县| 青龙| 棋牌| 丰台区| 通河县| 慈溪市| 嘉义县| 应用必备| 安图县| 新蔡县| 谷城县| 许昌县| 安远县| 仪征市| 巩义市| 达孜县| 宜良县| 柘荣县| 遵义市| 固安县| 怀集县| 太仆寺旗| 齐齐哈尔市| 绥芬河市| 临洮县| 武功县| 太原市| 辉南县| 新安县| 瓦房店市| 沁水县| 定襄县| 乾安县| 巴彦淖尔市| 涪陵区| 临澧县| 信丰县| 建瓯市| 平山县| 和静县|