Câu hỏi này nảy ra trong đầu tôi, khi tôi có một cái gì đó như
enum Folders {FA, FB, FC};
và muốn tạo một mảng các vùng chứa cho mỗi thư mục:
ContainerClass*m_containers[3];
....
m_containers[FA] = ...; // etc.
(Sử dụng bản đồ sẽ thanh lịch hơn nhiều khi sử dụng std::map<Folders, ContainerClass*> m_containers;
:)
Nhưng để quay lại câu hỏi ban đầu của tôi: Điều gì xảy ra nếu tôi không muốn mã hóa kích thước mảng, có cách nào để tìm ra có bao nhiêu mục trong Thư mục không? (Không dựa vào ví dụ như FC
là mục cuối cùng trong danh sách sẽ cho phép một cái gì đó như ContainerClass*m_containers[FC+1]
nếu tôi không nhầm.)
int(FA) | int(FB) | int (FC)
cũng là một giá trị pháp lý cho một Folders
biến. Nếu bạn định kích thước m_containers
để bất kỳ Folders
biến nào là một chỉ mục hợp lệ, [FC+1]
sẽ không đủ lớn.