我在一个 C++ 类中有一个静态变量的定义:
static SomeType MyClass::StaticVariable;
在另一个类中,我想使用这个没有 MyClass 前缀的变量。我可以这样做吗?如何?
我在一个 C++ 类中有一个静态变量的定义:
static SomeType MyClass::StaticVariable;
在另一个类中,我想使用这个没有 MyClass 前缀的变量。我可以这样做吗?如何?
您可以使用参考:
class MyOtherClass {
static SomeType &StaticVariable = MyClass::StaticVariable;
// ...
}
MyOtherClass::StaticVariable
您必须确保在构建之前不要尝试引用MyClass::StaticVariable
(在程序启动时)。
只有当“另一个类”派生自MyClass
并StaticVariable
具有公共或受保护的可见性时,您才能这样做。或者,您可以将该成员变量移动到某个其他范围或声明一个引用/指针并将其指向该变量,以便以后您必须减少输入。