gpt4 book ai didi

c++ - 类中静态对象的重要性以及它们与一般对象的区别

转载 作者:太空宇宙 更新时间:2023-11-04 15:47:45 26 4
gpt4 key购买 nike

#include "B.h"

class A
{
public :
A()
{
s_b = new B();
b = new B();
}

static B *s_b;

B *b;
};



#include<iostream>

using namespace std;

#include "A.h"

int main()
{
cout<<"hello";
}

在我的项目中,我看到了上面的静态对象。但无法知道它的确切用途是什么以及它们与一般对象有何不同。请帮助我找出我可以用 s_b 做哪些 b 没有做的事情。

最佳答案

首先,s_b 不会为创建的每个 A 实例占用内存,而 b 会。 sizeof(A) 增加了 b,但没有增加 s_b

static 在该类的所有实例之间共享,因此它就像一个全局变量。您不需要对象来访问它,您可以直接使用 A::s_b

关于c++ - 类中静态对象的重要性以及它们与一般对象的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13861814/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com