我知道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;
}

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

最佳答案

简短的答案是,不需要

长答案是有时它很方便。不幸的是,便利性是主观的,而一个人寻求便利的另一个人可能会觉得太宽容。

全局对象有问题(在代码中哪些混浊的数据流和访问同步中),但是有时候使用它可能会很方便,因为它使某些事情变得容易。它确实可以保持更轻松,或者可以证明维护负担,但是只有 future 可以证明...

...如果可以避免使用全局对象,那么通常情况下应该更好。但是实际上,在进行大规模编程之前,您很少会遇到问题。对于玩具示例和学生的项目,几乎没有问题,这就是为什么初学者无法理解为什么经验丰富的开发人员会像瘟疫一样避免它们。

10-07 14:17