C++(extern)

发布时间 2023-12-08 10:11:08作者: 做梦当财神

在 C++ 中,extern 是一个关键字,用于说明某个变量或函数是在其他文件中定义的,而不是在当前文件中定义。extern 的主要作用是进行外部链接性的声明。

1. 外部变量的声明:

extern 可以用于声明在其他文件中定义的全局变量,以便在当前文件中使用这些变量。

// 文件1.cpp
int globalVariable = 42;
cppCopy code// 文件2.cpp
extern int globalVariable; // 外部链接性声明

2. 外部函数的声明:

extern 也可以用于声明在其他文件中定义的函数。

// 文件1.cpp
void myFunction() {
    // 函数定义
}
cppCopy code// 文件2.cpp
extern void myFunction(); // 外部链接性声明

3. 避免重复定义:

使用 extern 可以避免在多个文件中重复定义相同的全局变量或函数,因为这样的声明告诉编译器,这个变量或函数将在其他文件中定义。

4. 外部链接性:

默认情况下,C++ 的全局变量和函数具有外部链接性,可以被其他文件访问。使用 extern 声明时,可以显式地指定这是一个外部链接性的声明。

extern "C" {
    // 在C++中使用extern "C"声明以C链接方式进行
    void cFunction();
}

extern 还可以用于声明在其他编译单元中使用的模板实例。

// 在其他文件中定义
template<typename T>
extern void myTemplateFunction(T param);

总的来说,extern 用于声明在其他文件中定义的变量和函数,以及在 C++ 和 C 之间进行链接时的声明。