使用static修饰在头文件中修饰的变量,此时不会产生冲突(用static修饰的全局变量的作用域为定义的源文件),在多个源文件中引用该头文件,等于是在每个源文件中都定义了该变量一次,而且此变量仅在本源文件中有效,这样的使用方式不是本身想要的全局变量,也浪费了内存空间,不推荐使用
eg:
test.h:
#ifndef TEST_H
#define TEST_H
#include <iostream>
using namespace std;
static int gi;
void print_test();
#endif
test.cpp:
#include "test.h"
void print_test()
{
gi++;
cout <<&gi<<