Esta pregunta vino a mi mente, cuando tuve algo como
enum Folders {FA, FB, FC};
y quería crear una matriz de contenedores para cada carpeta:
ContainerClass*m_containers[3];
....
m_containers[FA] = ...; // etc.
(Usar mapas es mucho más elegante de usar: std::map<Folders, ContainerClass*> m_containers;
)
Pero volviendo a mi pregunta original: ¿Qué pasa si no quiero codificar el tamaño de la matriz? ¿Hay alguna manera de averiguar cuántos elementos hay en las carpetas? (Sin depender, por ejemplo, de FC
ser el último elemento de la lista que permitiría algo como ContainerClass*m_containers[FC+1]
si no me equivoco).
int(FA) | int(FB) | int (FC)
también es un valor legal para una Folders
variable. Si está dimensionando m_containers
para que cualquier Folders
variable sea un índice válido, [FC+1]
no sería lo suficientemente grande.