在C++中,extern声明用于在一个文件中引用另一个文件中定义的全局变量、函数或者对象。通过使用extern关键字,可以告诉编译器该变量、函数或者对象的定义在其他文件中,而不是当前文件中。
extern声明可以有两种方式:
extern int globalVariable; // 声明一个全局变量,定义在其他文件中
extern void function(); // 声明一个函数,定义在其他文件中
extern MyClass object; // 声明一个对象,定义在其他文件中
正确的使用extern声明的方式是在一个文件中进行声明,在另一个文件中进行定义。例如,如果在一个文件中声明了一个全局变量,那么在另一个文件中应该进行变量的定义:
// File1.cpp
extern int globalVariable; // 声明全局变量
// File2.cpp
int globalVariable = 10; // 定义全局变量
注意:extern关键字只是表示该变量、函数或者对象的定义在其他文件中,并不是必须使用extern关键字来进行声明。有时候,在C++中可以直接在一个文件中进行定义,而无需使用extern关键字进行声明。这种情况下,编译器会将变量、函数或者对象的定义视为全局的。