我有这样的代码
void disconnect(control::lib::DisconnectReason reason) {
if(reason.getCode() == reason.C_Abnormal) {
...
}
}
这是代码味吗?我从来没有见过人们这样做,但通常是通过类名访问枚举常量。但这导致了长名,在我的情况下
if(reason.getCode() == control::lib::DisconnectReason::C_Abnormal) {
在这里做什么更好?
答案 0 :(得分:0)
这不是问题。就像您可以使用.
或->
访问类静态变量一样,您可以以相同的方式访问枚举名称,它不应该被使用.
(或{{1 }})表明这个变量/名称是调用者对象的成员,在这些情况下不是这样。