0

我在没有代码或上下文的情况下多次遇到术语类静态对象,以澄清这是作者对我不知道的东西的术语还是只是类(范围)静态成员(变量或函数)的另一个术语.

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;
4

1 回答 1

1

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

至于“类静态成员”的区别,函数也可以是“成员”,所以我想说区别在于“类静态对象”不包括函数。

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

于 2012-11-28T05:21:22.253 回答