当我们实现static int
成员时,我通常会这样
class A {
public:
static int a = 5;
};
但是,一旦找到下面的代码即可启用相同功能,我注意到我们可以通过A::a
访问该成员。我更喜欢这样做,因为与静态int相比,不需要在main函数之前进行初始化class A {
public:
enum { a = 5 };
};
哪一个更好?使用
static int
有什么好处? 最佳答案
是的,在某些情况下,您需要为同一类的所有实例更改变量的值。不使用static
是不可能的。
对于对象实例的所有可变数量的实例,仅创建一个静态变量副本,并请注意,只能由静态成员函数访问它们,即,如果您在类代码中的某个位置更改了静态变量的值,则将为指定类的每个对象更改。
关于c++ - 枚举成员与静态int成员?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/62640390/