c ++中对全局对象的需求是什么?

Des*_*tor 1 c++ global-object

我知道C++也允许创建类和结构的全局对象.

#include <iostream>
using std::cout;
class Test
{
    public:
        void fun()
        {
            cout<<"a= "<<a;
        }
    private:
        int a=9;
};
Test t;  // global object
int main()
{
    t.fun();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

何时何地我应该使用全局对象?全局对象是否有特定用途?请帮我.

Mat*_* M. 6

简短的回答是没有必要.


答案很长,有时候很方便.不幸的是,方便是主观的,而另一个人发现方便的另一个可能会发现太宽松.

全局对象存在问题(其中混淆数据流入代码和访问同步),但有时可能会发现使用一个因为它使事情变得更容易.它确实可以保持更容易,或者它可以证明维护负担,但只有未来可以告诉...

...如果你可以避免全局物体,一般来说你应该更好.但实际上,在大规模编程之前很少会遇到问题; 对于玩具示例和学生项目来说,很少有问题,这就是为什么初学者无法理解为什么更多经验丰富的开发人员会像瘟疫一样避开它们.

  • `std :: cout`当然证明是有用的. (3认同)