關鍵字作用extern引用其他來源檔案中的函數static限制函數的作用域到目前來源檔案mutable允許在函數內修改宣告為const 的物件
##C 函數宣告中extern、static 和mutable 的角色:理解它們的語意和作用
在C 中,函數宣告中的extern、static 和mutable 關鍵字有不同的語意和作用。extern
範例:
// header.h extern int add(int a, int b); // source1.cpp #include "header.h" int main() { int sum = add(1, 2); return 0; }在source1.cpp 中,extern 關鍵字允許引用在header.h 中宣告的add 函數,而無需包含add 函數的定義。
static
範例:
// source1.cpp static int localFunction() { return 10; } int main() { int x = localFunction(); // 可以访问 localFunction return 0; }由於 static 關鍵字,localFunction 只可以在 source1.cpp 中訪問,而不能在其他來源檔案中存取。
mutable
範例:
// source1.cpp class MyClass { public: const int x = 10; // 不可变数据成员 mutable int y = 20; // 可变数据成员 }; void modifyConst(MyClass& obj) { obj.y++; // 允许修改 y,因为 y 是 mutable }由於 mutable 關鍵字,modifyConst 函數可以修改 MyClass 類別的 y 資料成員,即使 y 是 const 的。 理解這些關鍵字的語意和作用對於編寫健全且有效的 C 程式至關重要。
以上是C++ 函數宣告中 extern、static 和 mutable 的角色:理解它們的語意和作用的詳細內容。更多資訊請關注PHP中文網其他相關文章!