我有这样的课程:
constexpr静态成员的概念是为了避免重复输入,例如。
vs
有没有一种简单的方法可以使它“更好”,而不使用 C 枚举?
struct InsertResult{
enum class Status{
INSERTED ,
UPDATED_IN_PLACE ,
REPLACED ,
SKIP_INSERTED ,
ERROR_NO_MEMORY ,
ERROR_INVALID ,
ERROR
};
bool ok;
Status status;
// more members here...
// spill the enum:
constexpr static auto INSERTED = Status::INSERTED ;
constexpr static auto UPDATED_IN_PLACE = Status::UPDATED_IN_PLACE ;
constexpr static auto REPLACED = Status::REPLACED ;
constexpr static auto SKIP_INSERTED = Status::SKIP_INSERTED ;
constexpr static auto ERROR_NO_MEMORY = Status::ERROR_NO_MEMORY ;
constexpr static auto ERROR_INVALID = Status::ERROR_INVALID ;
constexpr static auto ERROR = Status::ERROR ;
}
constexpr静态成员的概念是为了避免重复输入,例如。
if (insert() == InsertResult::INSERTED){
// OK...
}
vs
if (insert() == InsertResult::Status::INSERTED){
// OK...
}
有没有一种简单的方法可以使它“更好”,而不使用 C 枚举?
using enum Status;
即可。 - undefined