Questa domanda mi è venuta in mente, quando ho avuto qualcosa di simile
enum Folders {FA, FB, FC};
e volevo creare una serie di contenitori per ogni cartella:
ContainerClass*m_containers[3];
....
m_containers[FA] = ...; // etc.
(Usare le mappe è molto più elegante da usare std::map<Folders, ContainerClass*> m_containers;
:)
Ma per tornare alla mia domanda originale: cosa succede se non voglio codificare in modo rigido la dimensione dell'array, c'è un modo per capire quanti elementi ci sono nelle cartelle? (Senza fare affidamento, ad esempio, FC
sull'essere l'ultimo elemento della lista che consentirebbe qualcosa di simile ContainerClass*m_containers[FC+1]
se non mi sbaglio.)
int(FA) | int(FB) | int (FC)
è anche un valore legale per una Folders
variabile. Se stai ridimensionando in m_containers
modo che qualsiasi Folders
variabile sia un indice valido, [FC+1]
non sarebbe abbastanza grande.