(Come) posso contare gli oggetti in un enum?

Questa domanda mi è venuta in mente, quando avevo 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. 

(Usando le mappe è molto più elegante da usare: std::map m_containers; )

Ma per tornare alla mia domanda iniziale: cosa succede se non voglio hard-code la dimensione della matrice, c’è un modo per capire quanti elementi sono in cartelle? (Senza contare, ad esempio, che FC è l’ultimo elemento della lista che consentirebbe qualcosa come ContainerClass*m_containers[FC+1] se non mi sbaglio.)