请澄清术语类静态对象(vs类静态成员)

时间:2012-11-28 05:09:32

标签: c++

我多次遇到类静态对象这个术语,没有代码或上下文来澄清这是作者对我不知道的事情的术语,还是< strong> class(范围)静态成员(变量或函数)。

class m1 {
public:
    static int x;
};

// with x being the "class static "object"
// which I just call a "class static member".
int m1::x;

或者,该术语是否仅适用于实际是用户定义对象的成员变量?

class m2 {
public:
    int y;
};

class m3 {
public:
    static m2 z;
};

// with z really being an object - the "class static object"?
m2 m3::z;

1 个答案:

答案 0 :(得分:1)

我认为这两种情况都是指“类静态对象”。对象只是占用不是函数的内存的实体,因此它是否是用户定义类型(UDT)并不重要。

至于“类静态成员”之间的区别,函数也可以是“成员”,所以我会说区别是“类静态对象”不包含函数。

就个人而言,我会使用“静态成员变量”和“静态成员函数”,而不是那个术语。