C++の外部変数の定義方法は何ですか?
C++では、外部変数は関数やクラスの外で宣言や定義することができます。外部変数はグローバルスコープや名前空間内で定義することができます。
- グローバルスコープで外部変数を定義する:
int globalVariable; // 在全局作用域中定义外部变量
int main() {
// 使用外部变量globalVariable
globalVariable = 10;
return 0;
}
- 外部変数を定義するとき、名前空間内に配置します。
namespace MyNamespace {
int externalVariable; // 在命名空间中定义外部变量
}
int main() {
// 使用外部变量MyNamespace::externalVariable
MyNamespace::externalVariable = 20;
return 0;
}
外部変数を使用する前に、その変数があることをコンパイラに伝えるために、事前に宣言する必要があります。例えば、関数内でグローバル変数を使用する場合は、externキーワードを使用してその変数を関数内で宣言することができます。
extern int globalVariable; // 声明全局变量
int main() {
// 使用外部变量globalVariable
globalVariable = 10;
return 0;
}
外部変数が定義されず、単なる宣言だけが行われた場合、コンパイラはリンクステージでその変数の定義を探します。