キーワード function extern は、他のソース ファイル内の関数を参照します。 静的に関数のスコープを現在のソース ファイルに制限します。 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 キーワードにより、add 関数の定義を含めずに header.h で宣言された 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 関数は、y が const であっても、MyClass クラスの y データ メンバーを変更できます。
これらのキーワードのセマンティクスと効果を理解することは、堅牢で効率的な C プログラムを作成するために重要です。
以上がC++ 関数宣言における extern、static、mutable の役割: それらのセマンティクスと効果を理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。