全局变量
要声明可在不同源文件中访问的变量的单个实例,可以使用关键字 extern
在全局范围内创建该变量。这个关键字表示编译器在代码中的某个地方有一个这个变量的定义,所以它可以在任何地方使用,所有的写/读都将在一个内存位置完成。
// File my_globals.h:
#ifndef __MY_GLOBALS_H__
#define __MY_GLOBALS_H__
extern int circle_radius; // Promise to the compiler that circle_radius
// will be defined somewhere
#endif
// File foo1.cpp:
#include "my_globals.h"
int circle_radius = 123; // Defining the extern variable
// File main.cpp:
#include "my_globals.h"
#include <iostream>
int main()
{
std::cout << "The radius is: " << circle_radius << "\n";'
return 0;
}
输出:
The radius is: 123