当我有类似的东西时,我想到了这个问题
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]
那么大小将不够。