我多次遇到类静态对象这个术语,没有代码或上下文来澄清这是作者对我不知道的事情的术语,还是< 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;
答案 0 :(得分:1)
我认为这两种情况都是指“类静态对象”。对象只是占用不是函数的内存的实体,因此它是否是用户定义类型(UDT)并不重要。
至于“类静态成员”之间的区别,函数也可以是“成员”,所以我会说区别是“类静态对象”不包含函数。
就个人而言,我会使用“静态成员变量”和“静态成员函数”,而不是那个术语。