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