用extern组织可跨文件访问的变量

2017-01-02 19:16:44来源:CSDN作者:Mahabharata_人点击

      在使用Win32、MFC、OpenGL等进行编程的时候,经常会见到其中可以跨文件访问的变量或者状态。例如:OpenGL采用的是状态机管理的机制,其中的诸多状态通过枚举类型GLenum定义,如GL_DEEPTH_TEST、GL_SHINESS等,编程时只需引入相应的头文件,便可以在各个文件中访问和修改这些状态。

     我们在实际编程中,如果代码量较大,或者需要引入类似的一组可以跨文件访问的变量或者状态,就需要借助exturn关键字。

文件结构如下:

                                      

1. Global.h 

#ifndef GLOBAL_H_INCLUDED#define GLOBAL_H_INCLUDED#define MAX_INT 999999extern bool IS_CLOSED;enum MYenum{    FIRST,    SECOND,    THIRD};#endif // GLOBAL_H_INCLUDED
2. Global.cpp

#include "Globel.h"bool IS_CLOSED = false;

3. main.cpp
#include <iostream>#include "Globel.h"using namespace std;int main(){    cout<< "Define /"MAX_INT/":" << MAX_INT<<endl;    cout<< "Boolean /"IS_CLOSED/":" << IS_CLOSED<<endl;    cout<<"THIRD -> "<<THIRD<<endl;    return 0;} 

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台