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 FCmenjadi 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 Foldersvariabel. Jika Anda mengukur m_containerssehingga Foldersvariabel apa pun adalah indeks yang valid, [FC+1]tidak akan cukup besar.