【发布时间】:2011-02-17 10:08:29
【问题描述】:
我有一个应该从 main() 全局声明并从程序中其他声明的类访问的类,我该怎么做?
class A{
int i;
int value(){ return i;}
};
class B{
global A a; //or extern??
int calc(){
return a.value()+10;
}
}
main(){
global A a;
B b;
cout<<b.calc();
}
【问题讨论】:
-
我猜单格顿设计模式是从stackoverflow.com/questions/1008019/c-singleton-design-pattern开始的好点
-
@Artem - 再次强调 @gf 所说的 - 不要这样做!全局状态使代码无法组合和紧密耦合。除其他原因外,这很糟糕,因为它几乎无法进行测试。此外,我见过的几乎所有单例实现都不是线程安全的,但在代码运行在内存模型较弱的 CPU 上之前,您不会注意到这种微妙和令人不快的方式。
标签: c++