Pertanyaan ini muncul di benak saya, ketika saya memiliki sesuatu seperti
enum Folders {FA, FB, FC};
dan ingin membuat berbagai wadah untuk setiap folder:
ContainerClass*m_containers[3];
....
m_containers[FA] = ...; // etc.
(Menggunakan peta, ini jauh lebih elegan untuk digunakan std::map<Folders, ContainerClass*> m_containers;
:)
Tetapi untuk kembali ke pertanyaan awal saya: Bagaimana jika saya tidak ingin membuat kode keras ukuran array, adakah cara untuk mengetahui berapa banyak item yang ada di Folder? (Tanpa bergantung pada misalnya FC
menjadi item terakhir dalam daftar yang akan memungkinkan sesuatu seperti ContainerClass*m_containers[FC+1]
jika saya tidak salah.)
int(FA) | int(FB) | int (FC)
juga merupakan nilai legal untuk Folders
variabel. Jika Anda mengukur m_containers
sehingga Folders
variabel apa pun adalah indeks yang valid, [FC+1]
tidak akan cukup besar.