在静态成员方法中显式访问静态成员变量 - 在 C++ 中
Explicitly access static member variable in static member method - in C++
我知道如何在静态成员方法中访问静态成员变量——这是我通常使用的两种方式(非常简单):
class S{
private:
static const int testValue = 5;
public:
static int getTestValue0(){
return testValue;
}
static int getTestValue1(){
return S::testValue;
}
};
(工作示例:http://ideone.com/VHCSbh)
我的问题是:有没有比ClassName::staticMemberVar
更明确的访问静态成员变量的方法?
在 C++ 中有类似 self::
的东西吗?
...只是我正在寻找类似 this
的东西来引用静态成员。
不支持使用 class 名称以外的名称。您需要实施它。
Static Function Members: By declaring a function member as static, you
make it independent of any particular object of the class. A static
member function can be called even if no objects of the class exist
and the static functions are accessed using only the class name and
the scope resolution operator ::.
阅读详情click here
Is there something like self::
in C++ ?
不,没有这样的功能,但您可以使用 class 本地 typedef
:
class MyClass {
typedef MyClass self;
static int testValue;
static int getTestValue1(){
return self::testValue;
}
};
查看工作 demo。
我知道如何在静态成员方法中访问静态成员变量——这是我通常使用的两种方式(非常简单):
class S{
private:
static const int testValue = 5;
public:
static int getTestValue0(){
return testValue;
}
static int getTestValue1(){
return S::testValue;
}
};
(工作示例:http://ideone.com/VHCSbh)
我的问题是:有没有比ClassName::staticMemberVar
更明确的访问静态成员变量的方法?
在 C++ 中有类似 self::
的东西吗?
...只是我正在寻找类似 this
的东西来引用静态成员。
不支持使用 class 名称以外的名称。您需要实施它。
Static Function Members: By declaring a function member as static, you make it independent of any particular object of the class. A static member function can be called even if no objects of the class exist and the static functions are accessed using only the class name and the scope resolution operator ::.
阅读详情click here
Is there something like
self::
in C++ ?
不,没有这样的功能,但您可以使用 class 本地 typedef
:
class MyClass {
typedef MyClass self;
static int testValue;
static int getTestValue1(){
return self::testValue;
}
};
查看工作 demo。