यह सवाल मेरे दिमाग में आया, जब मुझे कुछ पसंद आया
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]तो यह पर्याप्त बड़ा नहीं होगा।