靜態函數在 c++++ 中被聲明為 static,具有以下特點:僅在聲明函數的文件內可見,不屬于任何類,在程序啟動時分配內存,不可訪問非靜態成員。例如,用靜態函數計算圓形面積的代碼片段可以有效地計算出給定半徑的圓形面積。
C++ 中的靜態函數
靜態函數聲明
C++ 中的函數可以聲明為靜態函數,只需在函數前加上 static
關鍵字,語法如下:
static void function_name();
登錄后復制
靜態函數的特點
靜態函數具有以下特點:
作用域: 僅在函數所在的文件內可見。綁定到類: 不屬于任何類或對象。內存管理: 保存于靜態區,僅在程序啟動時分配一次內存,不會隨著函數調用而創建或銷毀。不可訪問非靜態成員: 由于靜態函數不屬于任何類,因此無法訪問非靜態成員(包括數據成員和非靜態方法)。
實戰案例
考慮以下使用靜態函數計算圓形面積的代碼示例:
#include <iostream> #include <cmath> // 靜態函數計算圓形的面積 static double calculate_area(double radius) { return M_PI * pow(radius, 2); } int main() { double radius; std::cout << "輸入圓形半徑:"; std::cin >> radius; // 調用靜態函數 double area = calculate_area(radius); std::cout << "圓形的面積為:" << area << " 平方單位" << std::endl; return 0; }
登錄后復制
輸出:
輸入圓形半徑:5 圓形的面積為:78.5398 平方單位
登錄后復制