Tôi đang sử dụng một enum scoped để liệt kê các tiểu bang trong một số máy nhà nước mà tôi đang thực hiện. Ví dụ, chúng ta hãy nói điều gì đó như:Tương đương với "sử dụng không gian tên X" để liệt kê phạm vi?
enum class CatState
{
sleeping,
napping,
resting
};
Trong tập tin cpp tôi, nơi tôi định nghĩa một bảng chuyển trạng thái, tôi muốn sử dụng một cái gì đó tương đương với using namespace X
vì vậy mà tôi không cần phải thêm tiền tố tất cả các tên trạng thái của tôi với CatState::
. Nói cách khác, tôi muốn sử dụng sleeping
thay vì CatState::sleeping
. Bảng chuyển tiếp của tôi có một vài cột, vì vậy tránh tiền tố CatState::
sẽ giữ cho mọi thứ gọn nhẹ và dễ đọc hơn.
Vì vậy, có cách nào để tránh phải nhập CatState::
mọi lúc không?
Yeah, yeah, tôi đã nhận thức được những cạm bẫy của using namespace
. Nếu có tương đương với các enums mạnh mẽ, tôi hứa sẽ chỉ sử dụng nó trong một phạm vi giới hạn trong tệp thực thi cpp của tôi, chứ không phải cho cái ác.
Bạn có thực sự cần một 'lớp enum' hoặc' enum' sẽ làm gì? – netcoder
Ban đầu nó là một chữ 'enum' đơn giản, nhưng tôi đang chuyển mã của mình để sử dụng các tính năng C++ 11. Tôi thích ý tưởng về sự an toàn kiểu mạnh hơn với 'lớp enum'. –