mian.cpp
#include <iostream>
using namespace std;
double warming = 0.3;
void update(double dt);
void local();
int main()
{
cout << "global warming is " << warming << endl;
update(0.1);
cout << "global warming is " << warming << endl;
local();
cout << "global warming is " << warming << endl;
return 0;
}
support.cpp
#include <iostream>
extern double warming; //注意这个引用,没有这个引用22行会报错
using std::cout;
using std::endl;
void update(double dt)
{
extern double warming; //这里可有可无,书中为了更好的展示全局变量的引用特意添加这一行代码
warming += dt;
cout << "updating global warming to " << warming << endl;
}
void local()
{
double warming = 0.8;
cout << "local warming is " << warming << endl;
cout << "but global warming is " << ::warming << endl;
}
:: 作用域解析符,若局部变量和全局变量同名,使用:: 来展示全局变量,因为此时全局变量会被隐藏