如果我将类变量声明为extern
,以便它可以访问某些其他文件中声明的某个global
变量,该怎么办?这种情况是随时出现还是仅仅是假设的情况?
假设我有一个头文件global.h
extern int myglobalint;
我有一个cpp文件my.cpp
这里我宣布一个班级A
class A{
//use that variable here....is it possible
}
答案 0 :(得分:0)
是的,它会不时出现,特别是在凌乱的代码中。 :d
也许更像C ++的风格是将这些类型的变量放在一个类中,例如在global.h中:
class Global { // You can do this with 'struct' & omit 'public'
public:
static int myglobalint;
};
在global.cpp中:
int Global::myglobalint = 0xbeef;
使用extern或class成员实际上没有优势 - 但除非它是某种全局设置或标志,如果你想在全局存储状态,你可能需要考虑一下你的设计。
如果你确实需要全局变量,例如,状态或配置真的没有其他地方可以存在,我会选择类静态方法而不是一堆乱的东西。