访问C++枚举器的哪种方式更好?

Hin*_*chy 3 c++ enums

我正在寻找一些最佳实践建议.如果你有一个用C++声明的类,如下所示:

class Foo {
public:
    enum { A, B, MAX};
};
Run Code Online (Sandbox Code Playgroud)

是否应该访问枚举,如:

Foo::A
Run Code Online (Sandbox Code Playgroud)

要么

Foo *var; 
var->A;
Run Code Online (Sandbox Code Playgroud)

直到今天,我总是访问常量值Foo::A,而不是通过类类型的ptr.事实上,我甚至不相信这是可能的.有没有人遇到过何时以及是否应该使用每种形式,还是应该坚持使用经过试验和测试的Foo::A方法?

编辑:让Foo变成Foo*var这是一个错字,因为大多数人都发现了感谢.

Kev*_*udé 6

枚举与类相关联,而不是与实例相关联.所以Foo::A更好.