To pytanie przyszło mi do głowy, gdy miałem coś takiego
enum Folders {FA, FB, FC};
i chciałem utworzyć tablicę kontenerów dla każdego folderu:
ContainerClass*m_containers[3];
....
m_containers[FA] = ...; // etc.
(Korzystanie z map jest o wiele bardziej eleganckie w użyciu std::map<Folders, ContainerClass*> m_containers;
:)
Ale wracając do mojego pierwotnego pytania: co jeśli nie chcę na stałe zakodować rozmiaru tablicy, czy jest sposób, aby dowiedzieć się, ile elementów znajduje się w folderach? (Bez polegania np. Na FC
tym, że jest ostatnią pozycją na liście, co pozwoliłoby na coś takiego, ContainerClass*m_containers[FC+1]
jeśli się nie mylę).
int(FA) | int(FB) | int (FC)
jest również wartością prawną dla Folders
zmiennej. Jeśli ustalasz rozmiar m_containers
tak, aby każda Folders
zmienna była prawidłowym indeksem, [FC+1]
nie będzie wystarczająco duża.