我知道如何在静态成员方法中访问静态成员变量 - 这是我通常使用的两种方式(非常简化):
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
这样的东西来引用静态成员。
答案 0 :(得分:3)
在C ++中有类似
self::
的内容吗?
不存在此类功能,但您可以使用本地typedef
类:
class MyClass {
typedef MyClass self;
static int testValue;
static int getTestValue1(){
return self::testValue;
}
};
查看有效的demo。
答案 1 :(得分:0)
不支持使用类名以外的内容。您需要实施它。
静态函数成员:通过将函数成员声明为静态,即可 使其独立于班级的任何特定对象。静止的 即使没有该类的对象,也可以调用成员函数 并且仅使用类名和访问静态函数 范围解析运算符::。
阅读详情click here