当我有类似的东西时,我想到了这个问题
enum Folders {FA, FB, FC};
并希望为每个文件夹创建一个容器数组:
ContainerClass*m_containers[3];
....
m_containers[FA] = ...; // etc.
(使用地图这是更优雅的使用方法:std::map<Folders, ContainerClass*> m_containers;)
但是回到我的原始问题:如果我不想对数组大小进行硬编码怎么办,有没有办法确定文件夹中有多少个项目?(无需依赖于例如FC列表中的最后一项,ContainerClass*m_containers[FC+1]如果我没有记错的话,这将允许类似的操作。)
int(FA) | int(FB) | int (FC)也是Folders变量的合法值。如果您要调整大小m_containers以使任何Folders变量都是有效索引,[FC+1]那么大小将不够。