在C++中,extern关键字用于声明一个在其他文件中定义的全局变量。以《辛普森一家》为背景,假设我们有一个全局变量donutCount来追踪霍默吃掉的甜甜圈数量,它在一个文件中定义如下:
// globals.h
#ifndef GLOBALS_H
#define GLOBALS_H
extern int donutCount; // 声明全局变量
#endif
在另一个文件中,我们定义这个变量并初始化:
// globals.cpp
#include "globals.h"
int donutCount = 0; // 定义并初始化全局变量
现在,任何包含globals.h的文件都可以访问donutCount变量,并更新霍默吃掉的甜甜圈数量:
// main.cpp
#include "globals.h"
#include <iostream>
int main() {
donutCount = 5; // 更新全局变量
std::cout << "Homer has eaten " << donutCount << " donuts." << std::endl;
return 0;
}
这样,我们就可以在整个程序中共享和更新donutCount变量,而不会引起重定义的错误。这就是extern关键字在C++中管理全局变量的一个例子。🍩