【发布时间】:2013-07-16 14:14:47
【问题描述】:
如果我有一个定义枚举的类,应该将返回该枚举的成员函数声明为返回该枚举,还是返回一个 int?
例如:
class Foo {
public:
enum Stooge { larry, moe, curly};
Stooge WhoToPoke();
// OR: int WhoToPoke(); ???
}
我一直在声明这样的方法作为返回枚举,但不知道如果我将它声明为 int,它是“更好的样式”还是对客户更有用。
【问题讨论】:
-
我会选择枚举。不过,我认为这个问题不适合Stack Overflow。
-
不应将返回 X 的成员函数声明为返回 Y。例外是泛化,如指向基类的指针。
-
标准库中的所有类都用于枚举,例如 ios::out。不能打败它。
-
我还建议查看 @ )Type Safe Enum Idiom - 我将它与静态 boost bimap 一起用于序列化/反序列化
标签: c++ coding-style enums