gpt4 book ai didi

c++ - .(点)访问静态方法

转载 作者:太空狗 更新时间:2023-10-29 20:47:48 25 4
gpt4 key购买 nike

下面是一个流行的代码:

class A
{
public:
static const string TYPE = "AEvent";
const string& getType() { return TYPE; }
};

上面的代码可以这样使用:

if (aInstance.getType() == A::TYPE)
{
...
}

没关系。但这不是直觉。没有?看下一段代码:

class A
{
public:
static const string& getType()
{
static const string TYPE = "AEvent";
return TYPE;
}
}
//Usage
if (aInstance.getType() == A::getType())
....

当然,getType 是静态方法,但可以访问点运算符,而且对我来说更直观。

你怎么看?

最佳答案

如果用obj.static_member(或方法)比较清楚,那就用;当类型名称很长时(例如模板),这通常是正确的。否则使用 Type::static_member。

关于c++ - .(点)访问静态方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4731406/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com