写了一个工程,需要定义一些常量/枚举类型/结构体
在其他头文件中需要使用。我现在的做法是:glob.h,把所有这些的声明放在里面extern const int MaxStudentNumber; //常量
struct StudentInfo; //结构体
enum SEX{M,FM}; //枚举类型
......glob.cpp,放入常量的值和一部分结构体成员函数的定义。#include "stdafx.h"
#include "glob.h"const int MaxStudentNumber=0xf0;
......在需要用的地方include "glob.h"
在CxxxDoc.h和CxxxView.h等类的头文件中,因为需要定义StudentInfo类型的成员,我也得加这句include。因为一直都是在自学,我想确认一下,这么做有什么问题吗?
在其他头文件中需要使用。我现在的做法是:glob.h,把所有这些的声明放在里面extern const int MaxStudentNumber; //常量
struct StudentInfo; //结构体
enum SEX{M,FM}; //枚举类型
......glob.cpp,放入常量的值和一部分结构体成员函数的定义。#include "stdafx.h"
#include "glob.h"const int MaxStudentNumber=0xf0;
......在需要用的地方include "glob.h"
在CxxxDoc.h和CxxxView.h等类的头文件中,因为需要定义StudentInfo类型的成员,我也得加这句include。因为一直都是在自学,我想确认一下,这么做有什么问题吗?
不用cpp文件
a;
b;
c;
geta()
getb()
--
xxx.cppgeta()
{
return a;
}
这种无论xxx.h 被包含多少次 都只有1份全局变量,而且 其他cpp不需要用extern 来修饰
getb()
1、以theApp类变量的方式定义,只在本程序有用
2、以一个静态容器类来包容这些变量(static),CMyDefine::theVar1...
3、全局变量(如楼主),维护起来不太方便、不太安全