91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
河东区| 视频| 海原县| 大丰市| 泰兴市| 民和| 固安县| 汝州市| 沁阳市| 彭阳县| 龙胜| 宁晋县| 加查县| 红河县| 滕州市| 浑源县| 陆丰市| 依兰县| 连城县| 家居| 洛川县| 柘城县| 米林县| 新绛县| 田林县| 澄江县| 综艺| 东兰县| 西乡县| 柳江县| 襄樊市| 邹平县| 青阳县| 九龙坡区| 威宁| 禄丰县| 新乡县| 冀州市| 湛江市| 墨江| 海伦市|