总而言之,我有这样的代码
class c {
public:
enum enumType { .... }; // huge!
int function( enumType e );
private:
...
}
代码工作正常,但我想让它更干净一点。枚举有两页长,这使得接下来的人很难编写代码。我想我可以将它放在自己的头文件中,我认为这是最好的解决方案。我只是想知道是否有一种更优雅的方法来做到这一点,而不需要外部文件?
谢谢
最佳答案
一种可能的选择是使用枚举类,它可以被前向声明:
class Foo {
enum class bar;
int foo(bar);
};
enum class Foo::bar {baz, blah};
int Foo::foo(bar b)
{
return b == bar::baz ? 1:0;
}
当然,使用枚举类意味着一些额外的输入。但是,作为额外的好处,您可以获得更好的类型安全性。
关于c++ - 是否有一种有效、正确的方法将非常大的公共(public)类枚举放在使用它们的公共(public)方法下面,以使代码更干净?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42406066/