【c++ extern关键字】

文章目录

    • 什么是 extern?
    • 使用 extern 声明变量
    • 使用 extern 声明函数
    • 示例
    • 总结

什么是 extern?

extern 是 C++ 中的一个关键字,用于声明一个全局变量或函数,但并不分配内存或提供定义。它的主要作用是告诉编译器这个变量或函数在其他源文件中定义,编译器不应该分配内存空间或生成代码,而应该等待链接器来解析它。

使用 extern 声明变量

// 在一个源文件中定义一个全局变量
int globalVar = 42;

// 在另一个源文件中使用 extern 声明这个变量
extern int globalVar;

int main() {
    // 可以在这里使用 globalVar,编译器知道它的存在
    return 0;
}

在一个源文件中定义了 globalVar,然后在另一个源文件中使用 extern 来声明它,以便在 main 函数中使用。

使用 extern 声明函数

extern 同样适用于函数的声明,在一个源文件中声明函数,然后在另一个源文件中定义它。

// 在一个源文件中声明函数
extern void someFunction();

int main() {
    // 调用在其他源文件中定义的函数
    someFunction();
    return 0;
}

示例

假设有两个源文件:main.cppfunctions.cpp

main.cpp

#include 

// 声明在 functions.cpp 中定义的函数
extern void printMessage();

int main() {
    printMessage();
    return 0;
}

functions.cpp

#include 

// 定义函数
void printMessage() {
    std::cout << "Hello from functions.cpp!" << std::endl;
}

main.cpp 中使用 extern 声明了 printMessage 函数,然后在 functions.cpp 中定义了这个函数。编译和链接这两个源文件时,输出 “Hello from functions.cpp!”。

总结

extern 关键字允许在一个源文件中声明全局变量和函数,然后在其他源文件中定义它们。

你可能感兴趣的:(C++,c++,开发语言)